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