スクリプトの標準出力をコンソールに印刷している間にスクリプトの実行時間を変数に保存するにはどうすればよいですか?

スクリプトの標準出力をコンソールに印刷している間にスクリプトの実行時間を変数に保存するにはどうすればよいですか?

スクリプトに費やされた時間を測定して変数に保存したいと思います。これは私の現在のコードです。

time_spent=$(time ./script.sh)
...
echo $time_spent

これは次のように機能します。スクリプトにユーザー対話が必要な場合があるため、スクリプト出力はすぐにコンソールに移動する必要があります。所要時間は、後で使用するために変数に保存する必要があります。

他のものでこれを行うことはできますかtime、それとも別のものを使用する必要がありますか?

ベストアンサー1

/usr/bin/time組み込み時間の代わりにこの-oオプションを使用してファイルに時間を書き込むことができます。

$ /usr/bin/time -p -o times sleep 1
$ cat times
real 1.01
user 0.00
sys 0.00

詳しくはマニュアルページをご覧ください。

おすすめ記事