将time的结果放入到文件中

缘起

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

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

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

实验准备:

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

2.执行结果如下:

3.通过time命令获取脚本执行时间

无效的例子1:

time sh sleep.sh >output.log

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

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

无效的例子2:

time sh sleep.sh &>output.log

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

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

有效的列子1:

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

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

原文地址:http://blog.51cto.com/kexiaoke/2178754

时间: 2024-07-31 19:48:27

将time的结果放入到文件中的相关文章

Datatable转换为Json 然后把Json数据放入 js 文件中

C#中把Datatable转换为Json的5个代码实例 /// <summary> /// Datatable转换为Json /// </summary> /// <param name="table">Datatable对象</param> /// <returns>Json字符串</returns> public static string ToJson(DataTable dt) { StringBuilde

JavaScript 将多个引用(样式或者脚本)放入一个文件进行引用

1.将样式放入一个文件进行引用 @import url("../media/css/bootstrap.min.css"); @import url("../media/css/bootstrap-responsive.min.css"); @import url("../media/css/font-awesome.min.css"); @import url("../media/css/style-metro.css");

【源码】将一个整数的每位数分解并按逆序放入一个数组中(用递归算法)(C语言实现)

帮朋友做的,好像是一个面试题.如果仅仅是考察递归的话,应该是够了,程序的健壮性和通用性都很一般的说-- #include <stdio.h> #include <stdlib.h> int count = 0; void myRevert(int n, int a[]) { if(n < 10) { a[count++] = n; } else { a[count++] = n % 10; myRevert(n / 10, a); } } int main() { int n

将一整数逆序后放入一数组中

1.题目描述 将一整数逆序后放入一数组中(非递归实现) 例如: 1234 变为 {4,3,2,1} 2.代码实现 1 package com.wcy.october; 2 3 /** 4 * 时间:2016年10月23日 5 * 题目:将一整数逆序后放入一数组中(非递归实现) 例如: 1234 变为 {4,3,2,1} 6 */ 7 public class RecursionTest2 { 8 9 /** 10 * 将一整数逆序后放入一数组中 11 * @param number 待逆序的整数

zoj 1608 Two Circles and a Rectangle 判断两个圆是否能放入一个矩形中

题目来源:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=608 分析: 两个圆放到矩形的临界点图为: 其中a为长, b为宽, r1 > r2 红色三角形的三边长分别为: x = a - (r1 +r2) y = b - (r1 + r2) z = r1 +r2 当 x ^ 2 + y ^ 2  >= z^2 时, 显然 矩形是可以放进去圆的. 代码如下: int main() { double w, l , r1 ,r2

【转】【Android测试技巧】01. root后adb shell默认不是root用户时,如何将文件放入手机系统中

http://blog.csdn.net/wirelessqa/article/details/8624208 有些机器root后通过adb shell 后,默认不是root用户,需要输入 su才能切换到root,这样在执行批处理或想将文件放到手机系统中会有问题: 方法一:命令行 1 adb shell "su -c 'sleep 1'" 2 adb start-server 3 adb push tcpdump /data/local/tcpdump 方法二:用工具 adbd Ins

C# 让你解决方案乱七八糟的DLL放入指定文件夹

嗯,大家的解决方案可能会有许多dll,这样不美观,而且也麻烦. 很多小白都不知道如何将这些dll放到如自己程序的bin文件夹下. 本渣今天来试着将dll复制到指定的文件夹下~ 比如我之前做的一个Winform使用WebKit内核.然后webkit的dll和文件夹就一大堆全堆积在debug目录下. 这也太乱了吧!!!!! 于是我们便打算将这些文件塞入一个叫bin的文件夹内. 只让我的winform程序能被用户一眼看到,让其他麻烦的dll藏在bin就好了owo. 第一步:在程序内新建App.conf

在eclipse导入项目如何将多个项目放入一个文件夹中

在Package Explorer顶部的右侧有有机表图标按钮, 点击倒三角 Top Level Elements->Working Set.此时就会发现,很多项目会自动纳入一个文件夹,这个文件夹的名字叫做other Projects,这是默认的 如果想自己建立自己的文件夹,点击倒三角,Configure Working Set,会出现弹框. 出现弹框后,点击New按钮,就可以创建文件夹. 在此界面,双击某一文件夹,就会进入编辑界面,可以修改文件夹名称,也可以选择将 那个项目放置到该目录下. 想删

php文件以二进制形式上传并放入到数据库中

conn.php: <?php $id=mysql_connect('localhost','root','root'); mysql_select_db("db_database12",$id); mysql_query("set names gb2312"); ?> index.php: <html> <head> <meta http-equiv="Content-Type" content=&qu