1

bash では、プログラムの実行にかかる時間を 1 つの変数に格納し、プログラムの出力を別の変数に格納するにはどうすればよいですか? 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には何も含まれておらず、「h​​ello world」が端末に出力されます。

4

1 に答える 1

1

これはうまくいきますか?

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