2012-04-22 9 views
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には何も含まれておらず、 "hello world"がターミナルに印刷されています。

+1

http://mywiki.wooledge.org/BashFAQ/032 – ormaaj

+0

[スクリプト変数にbashの時間の出力をキャプチャ]の可能な重複(http://stackoverflow.com/questions/11868811/capturing-the -output-of-bash-time-in-script-variable) – tripleee

答えて

1

これはあなたのために働くでしょうか?

prog_output=`(time ls) 2> time_output` 
time_output=`cat time_output` 
関連する問題