bashスクリプトの環境変数に$ SECONDSを入れることはできますか?

bashスクリプトの環境変数に$ SECONDSを入れることはできますか?

$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

「コマンドの置き換え」を通じて呼び出し/使用します。

おすすめ記事