使用bash,如何在一个变量中存储程序执行所需的时间,以及在另一个变量中存储程序的输出?我知道time
将其输出发送到stdout
;我最接近的是:
exec 3>&1 4>&2
time_output=$( { time echo hello world 1>&3 2>&4; } 2>&1 )
但是“hello world”会打印到终端。如何将“hello world”捕获到另一个变量?
我也试过了:
prog_output=$(time_output=$( { time echo hello world 1>&3 2>&4; } 2>&1 ) )
但这不起作用。 prog_output
不包含任何内容,并在终端上打印“hello world”。
答案 0 :(得分:1)
这对你有用吗?
prog_output=`( time ls ) 2> time_output`
time_output=`cat time_output`