Shell取命令执行时间间隔

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

command1

command2

command3

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

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

把每个命令执行的时间打印到报表去, 注意是毫秒,谢谢
...全文
503 8 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
蜗牛- 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 ------------------ 这个好。
  • 打赏
  • 举报
回复
把多条的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, 我大概要求是这样,我写的语法肯定不对,求大侠指点
  • 打赏
  • 举报
回复
引用 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是一系列句子呢,不是一句
  • 打赏
  • 举报
回复
time command1 会额外输出类似以下的信息,自己提取就好了。 real 0m0.006s user 0m0.005s sys 0m0.001s
  • 打赏
  • 举报
回复
相关推荐
发帖
系统维护与使用区
加入

1.9w+

社区成员

系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
申请成为版主
帖子事件
创建了帖子
2014-07-31 03:53
社区公告
暂无公告