Shell取命令执行时间间隔

ladofwind 2014-07-31 03:53:55
比如我现在有个shell 脚本
#!/bin/bash

command1

command2

command3

如何能生成一个报表打印出

command1 executed xxxxx ms.
command2 executed xxxxx ms.
...

把每个命令执行的时间打印到报表去, 注意是毫秒,谢谢
...全文
580 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
姜小白- 2014-08-16
  • 打赏
  • 举报
回复
太高大上了 不懂了
ljc007 2014-08-11
  • 打赏
  • 举报
回复
引用
start = starttime command1 end = endtime timeInteval = endtime - starttime echo "command1 takes xxxx ms" >> ./report.log ..... start = command2 end = timeInteval= endtime- starttime
精确到秒的话,可以用这个方法。 微秒的话,就用函数吧。参考5楼
cainiao000 2014-08-08
  • 打赏
  • 举报
回复
一系列句子放到一个shell脚本中,形成一个命令。 再在命令前 用time ------------------ 这个好。
帅得不敢出门 2014-08-01
  • 打赏
  • 举报
回复
把多条的command放到一个function中执行就好了。 code: function fun() { for file in `ls`; do echo $file; done; sleep 1 } time fun
ladofwind 2014-07-31
  • 打赏
  • 举报
回复
引用 3 楼 zmlovelx 的回复:
[quote=引用 2 楼 ladofwind 的回复:] [quote=引用 1 楼 zmlovelx 的回复:] time command1 会额外输出类似以下的信息,自己提取就好了。 real 0m0.006s user 0m0.005s sys 0m0.001s
如果command是一系列句子呢,不是一句[/quote] 一系列句子放到一个shell脚本中,形成一个命令。 [/quote] 哈哈,这个方法是可以,只是想问还有没有别的办法计算时间差 比如 start = starttime command1 end = endtime timeInteval = endtime - starttime echo "command1 takes xxxx ms" >> ./report.log ..... start = command2 end = timeInteval= endtime- starttime ... command1和command2都是一组命令,然后运行完这个shell脚本要得到一个report, 我大概要求是这样,我写的语法肯定不对,求大侠指点
帅得不敢出门 2014-07-31
  • 打赏
  • 举报
回复
引用 2 楼 ladofwind 的回复:
[quote=引用 1 楼 zmlovelx 的回复:] time command1 会额外输出类似以下的信息,自己提取就好了。 real 0m0.006s user 0m0.005s sys 0m0.001s
如果command是一系列句子呢,不是一句[/quote] 一系列句子放到一个shell脚本中,形成一个命令。
ladofwind 2014-07-31
  • 打赏
  • 举报
回复
引用 1 楼 zmlovelx 的回复:
time command1 会额外输出类似以下的信息,自己提取就好了。 real 0m0.006s user 0m0.005s sys 0m0.001s
如果command是一系列句子呢,不是一句
帅得不敢出门 2014-07-31
  • 打赏
  • 举报
回复
time command1 会额外输出类似以下的信息,自己提取就好了。 real 0m0.006s user 0m0.005s sys 0m0.001s

19,610

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧