Answers:
我建议看一下bash
变量SECONDS
:
SECONDS:每次引用此参数时,返回自shell调用以来的秒数。如果将值分配给SECONDS,则后续引用返回的值是分配以来的秒数加上分配的值。
因此,您可以简单地在脚本末尾打印此变量。或者,如果您打算只测量程序一部分的时间,则只需SECONDS=0
在所测量的命令块的开头进行设置,最后在此变量中使用存储的值即可。
SECONDS=0
在一个脚本上设置相同的东西,而在另一个脚本上设置相同的东西,它们会互相干扰吗?
START_TIME=$SECONDS; dosomething; ELAPSED_TIME=$(($SECONDS - $START_TIME))
。这对于同时使用似乎更加灵活。
嵌套您的脚本。要发送电子邮件,有很多选项。我个人比较喜欢msmtp,您可以自己在“ here”样式(内联)中定义标题,也可以使用单独的文件将它们组合在一起。有各种各样的替代方法,包括perl,python等。
Reply-To: someone@somehost
Sender: someone <someone@somehost>
To: somebody@somewhere.else
Subject: some subject
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/html; charset="iso-8859-1"
空行尾很重要。从而将您组装的消息放入msmtp:
cat assembled.eml | msmtp somebody@somewhere.else
悲观者会不断循环直到成功几次。
有效载荷也可以是html,也可以是php生成的。
一夜之间说,“批量”操作的一个非常丑陋的选择是创建一个cronjob,并通过电子邮件发送输出来代替stdout / stderr。
$SECONDS
; 那很棒!要添加此内容,您可以使用类似的格式将秒转换为小时:分钟:秒date -d "1970-01-01 ${SECONDS} sec" +'%k:%M:%S'
(man date
有关更多格式设置,请参阅)。