【发布时间】:2014-08-12 09:59:06
【问题描述】:
我有一个用 bash/shell 脚本语言编写的备份脚本。我通过这样做来计算总运行时间/执行时间:
#!/bin/bash
# start time
res1=$(date +%s.%N)
### do some work here
# end time & calculate
res2=$(date +%s.%N)
dt=$(echo "$res2 - $res1" | bc)
dd=$(echo "$dt/86400" | bc)
dt2=$(echo "$dt-86400*$dd" | bc)
dh=$(echo "$dt2/3600" | bc)
dt3=$(echo "$dt2-3600*$dh" | bc)
dm=$(echo "$dt3/60" | bc)
ds=$(echo "$dt3-60*$dm" | bc)
# finished
printf " >>> Process Completed - Total Runtime (d:h:m:s) : %d:%02d:%02d:%02.4f\n" $dd $dh $dm $ds
echo " "
exit 0
这会输出如下内容:
你如何格式化结果,所以它看起来像这样:
0 天 0 小时 0 分钟 0.0968 秒
如果它可以智能地仅显示 > 0 的值,就像这些示例一样 - 那将是无用的:
- 7 分 5.126 秒 或
- 2 小时 4 分 1.106 秒 或
- 7.215 秒等...
【问题讨论】:
标签: linux bash shell time formatting