Bashスクリプトの実行にかかった時間(日/分/秒)

Bashスクリプトの実行にかかった時間(日/分/秒)

実際にスクリプトが完了するのにかかる時間を推定したいとき。

startdate=$date

stuffs

enddate=$date

私はこれら2つの日付の違いを知りたいです。通常、スクリプトは1週間以内に完了します。だから日数と分が必要です。

ベストアンサー1

bashマニュアルから:

SECONDS

このパラメーターが参照されるたびに、シェルが呼び出されてからの秒数が返されます。値がに割り当てられている場合、 SECONDS後続の参照によって返される値は、割り当て後の秒数に割り当てられた値を加算した値です。設定しないと、SECONDS後でリセットしても特殊属性が失われます。

したがって、秒を計算するタイマーを使用してコードスニペットの時間を測定したい場合は、次のようにします。

SECONDS=0

# code goes here

t=$SECONDS

$tこの値の日数と分数を印刷するには、次のようにします。

printf 'Time taken: %d days, %d minutes\n' "$(( t/86400 ))" "$(( t/60 - 1440*(t/86400) ))"

おすすめ記事