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
には何も含まれておらず、「hello world」が端末に出力されます。