如何计算bash脚本中经过的时间?

我使用来打印开始时间和结束时间date +"%T",结果如下:


10:33:56

10:36:10

如何计算和打印这两者之间的差异?


我想得到类似的东西:


2m 14s


繁花不似锦
浏览 591回答 3
3回答

侃侃尔雅

Bash有一个方便的SECONDS内置变量,可跟踪自启动外壳以来经过的秒数。分配给该变量后,它会保留其属性,赋值后返回的值是指赋值以来的秒数加上赋值。因此,您可以SECONDS在开始定时事件之前将其设置为0,在事件之后简单读取SECONDS,然后在显示之前进行时间算术运算。SECONDS=0# do some workduration=$SECONDSecho "$(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed."由于此解决方案不依赖date +%s(这是GNU扩展),因此可以移植到Bash支持的所有系统中。
打开App,查看更多内容
随时随地看视频慕课网APP