译至:http://unicus.jp/skmk/archives/338
由于输出 time 命令的结果到文件时使用的错误的方式,所以将其记录下来。
环境是bash。
time ./a.out > logfile time ./a.out | tee logfile
把错误输出也重定向到文件。
time ./a.out >& logfile time ./a.out > logfile 2>&1 time ./a.out 2>&1 | tee logfile然而,这也是没有用的。
./a.out >& logfile ./a.out > logfile 2>&1 ./a.out 2>&1 | tee logfile因为这只是意味着把a.out的错误和标准输出重定向到logfile。
我们是想把 time ./a.out 的结果输出到logfile,所以:
(time ./a.out) >& logfile (time ./a.out) > logfile 2&>1 (time ./a.out) 2>&1 | tee logfile用括号括起来。这样就搞定了。换句话说,你是在一个子shell中运行。
另外最新的bash不仅支持>&也支持&>。
也可以用{;} 指定一组命令。
{ time ./a.out ; } >& logfile { time ./a.out ; } > logfile 2&1 { time ./a.out ; } 2>&1 | tee logfile{ 后一定要加空格,如果没有的话,会报错 -bash: syntax error near unexpected token `}’ 。后面的冒号;也不要忘了。
/usr/bin/time ./a.out >& logfile /usr/bin/time ./a.out > logfile 2>&1 /usr/bin/time ./a.out 2>&1 | tee logfile而且有输出到文件的选项-o。
/usr/bin/time -o logfile ./a.out
但是这只会把time的结果写到文件。使用追加选项-a就可以了。
/usr/bin/time -a -o logfile ./a.out > logfile
GNU的time命令跟bash的time比的话,数据更详细,也能指定多种输出格式。
详细的情况请使用man time,bash的time的话使用help time。
输出 time 命令的结果到文件中,布布扣,bubuko.com
原文:http://www.cnblogs.com/luobosong/p/3920601.html