1

使用 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”被打印到终端。

4

1 回答 1

1

这对你有用吗?

prog_output=`( time ls ) 2> time_output`
time_output=`cat time_output`
于 2012-05-16T18:45:35.283 回答