Mik*_*e B 12 bash shell-script time
我有一个运行一系列检查(一个简单的bash脚本ping
,nslookup
等等),然后用这些数据的输出发送电子邮件报告。
我希望电子邮件包含有关运行整个脚本所需时间的信息。有没有一种简单的方法来收集这些信息?
jim*_*mij 16
我建议看看bash
变量SECONDS
:
SECONDS:每次引用此参数时,返回自调用 shell 以来的秒数。如果将值分配给 SECONDS,则后续引用返回的值是自分配以来的秒数加上分配的值。
因此,您可以简单地在脚本末尾打印此变量。或者,如果您只想测量部分程序的时间,则只需SECONDS=0
在测量的命令块的开头设置,最后只需使用存储在此变量中的值。
使用时SECONDS
和time
会给你相对值。如果您想获得有关脚本运行时间和完成时间的审计和报告目的的绝对值,您可能想在命令之前和之后尝试类似的操作
date '+%Y%m%d%H%M%S.%N'
。这也可以为您提供更好的粒度,因为它可以捕获亚秒级差异,因为您拥有ping
通常在一秒内执行的命令。