
環境変数で時間、分、秒を表示できるようにしたいのですが、そうすれば、毎回すべてを使用するのではなく、スクリプト内のさまざまな場所で$SECONDS
のみ使用する必要があります。$RUNTIME
変数に入れるためにどのようなフォーマットを使用すればよいかわかりません。
export RUNTIME="$(($SECONDS / 3600))hrs $((($SECONDS / 60) % 60))min $(($SECONDS % 60))sec"
つまり、私は単純に次のようにすることができます:
echo "The script ran for: $RUNTIME"
ありがとう。
答え1
RUNTIME を変数として定義しても、常に定義されたときのランタイムの定数値が出力されるため役に立ちません。function
代わりにシェルを試してください:
runtime() {
printf "%dhrs %dmin %dsec\n" $((SECONDS / 3600)) \
$(((SECONDS / 60) % 60)) \
$(($SECONDS % 60));
}
runtime
そして、「コマンド置換」で呼び出し/使用します。