博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
将time的结果放入到文件中
阅读量:6483 次
发布时间:2019-06-23

本文共 649 字,大约阅读时间需要 2 分钟。

缘起

今天看到一个问题,如何把time的执行结果放到文件中,心想直接time sh sleep.sh >output.log不就可以了么。其实大部分返回标准输出的命令都可以这么干,列如:ls >output.log 就会把ls的执行结果放入到output.log中。

那么为什么time命令就不行了呢?

因为:time命令返回的是标准错误输出!

实验准备:

1.有一个sleep.sh脚本,脚本内容如下:

sleep.sh
2.执行结果如下:
将time的结果放入到文件中
3.通过time命令获取脚本执行时间
将time的结果放入到文件中

无效的例子1:

time sh sleep.sh >output.log

下图可以看到只是把脚本输出的内容放入到了output.log,并没有把time命令的结果放入到output.log

将time的结果放入到文件中

上面的例子是重定向脚本的结果到logfile,但是time的输出没有被记录到文件中

无效的例子2:

time sh sleep.sh &>output.log

time sh sleep.sh >output.log 2>&1

将time的结果放入到文件中

通过上图,可以看到两种方式都没有把time的结果输出到output.log文件,因为两个命令都代表把脚本的标准输出和错误输出重定向到output.log文件,而没有办法把time的输出写入到文件

有效的列子1:

(time sh sleep.sh) &>output.log

将time的结果放入到文件中

这样把命令放入到子shell执行,就可以拿到结果了。

转载于:https://blog.51cto.com/kexiaoke/2178754

你可能感兴趣的文章
MFC ado+mysql+odbc技术分享
查看>>
js中让字符串中特定字符红色显示
查看>>
HttpClient4.5教程-第二章-连接管理
查看>>
redhat Nginx 安装
查看>>
oracle 配置监听
查看>>
上海访微软 详解Azure和S+S
查看>>
moosefs即将发布新版
查看>>
SmartGit 试用过期
查看>>
python 测试驱动开发的简单例子
查看>>
Aes 加密简单例子
查看>>
AE 线编辑
查看>>
软件设计之UML—UML的构成[上]
查看>>
如何使用AdMob中介界面?
查看>>
分享一个shell脚本:通过Jumper机器来创建Jumper和target机器账号
查看>>
UITableViewCell分割线不是左对齐的问题
查看>>
CentOS7 编译安装PHP7
查看>>
MySQL常见错误代码及代码说明
查看>>
Cglib动态代理基础使用
查看>>
技术人员,为什么会苦逼
查看>>
使用126邮箱发送邮件的python脚本
查看>>