我可以将 $SECONDS 放入 bash 脚本中的环境变量中吗?

我可以将 $SECONDS 放入 bash 脚本中的环境变量中吗?

我希望能够$SECONDS在环境变量中显示小时、分钟、秒,因此我只需要$RUNTIME在脚本中的各个位置使用,而不是每次我想使用它时都拥有整个内容。

我不知道使用什么格式来允许它进入变量:

export RUNTIME="$(($SECONDS / 3600))hrs $((($SECONDS / 60) % 60))min $(($SECONDS % 60))sec"

所以我可以简单地:

echo "The script ran for: $RUNTIME"

谢谢。

答案1

将 RUNTIME 定义为变量不会有帮助,因为它总是输出一个常量值,即定义它时的运行时间。尝试用 shellfunction代替:

runtime() { 
   printf "%dhrs %dmin %dsec\n" $((SECONDS / 3600)) \
                                $(((SECONDS / 60) % 60)) \
                                $(($SECONDS % 60)); 
}
runtime

并通过“命令替换”来调用/使用它。

相关内容