我使用來打印開始時間和結束時間date +"%T",結果如下:10:33:5610:36:10如何計算和打印這兩者之間的差異?我想得到類似的東西:2m 14s
3 回答

侃侃爾雅
TA貢獻1801條經驗 獲得超16個贊
Bash有一個方便的SECONDS內置變量,可跟蹤自啟動外殼以來經過的秒數(shù)。分配給該變量后,它會保留其屬性,賦值后返回的值是指賦值以來的秒數(shù)加上賦值。
因此,您可以SECONDS在開始定時事件之前將其設置為0,在事件之后簡單讀取SECONDS,然后在顯示之前進行時間算術運算。
SECONDS=0
# do some work
duration=$SECONDS
echo "$(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed."
由于此解決方案不依賴date +%s(這是GNU擴展),因此可以移植到Bash支持的所有系統(tǒng)中。
添加回答
舉報
0/150
提交
取消