実際にスクリプトが完了するのにかかる時間を推定したいとき。
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) ))"