Kes*_*hun 2 linux scripting bash date time
事实上,当我想要估计脚本完成所需的时间时。
startdate=$date
stuffs
enddate=$date
Run Code Online (Sandbox Code Playgroud)
我希望得到这两个日期之间的差异,通常脚本完成时间不到 1 周。所以我需要它的天数和分钟数。
从bash
手册中:
SECONDS
每次引用此参数时,都会返回自 shell 调用以来的秒数。如果将值分配给
SECONDS
,则后续引用时返回的值是自分配以来的秒数加上所分配的值。如果SECONDS
未设置,即使随后重置,它也会失去其特殊属性。
因此,每当您想使用计时秒数的计时器来计时一段代码时,您可以这样做
SECONDS=0
# code goes here
t=$SECONDS
Run Code Online (Sandbox Code Playgroud)
要打印该$t
值的天数和分钟数:
printf 'Time taken: %d days, %d minutes\n' "$(( t/86400 ))" "$(( t/60 - 1440*(t/86400) ))"
Run Code Online (Sandbox Code Playgroud)