当前位置:  开发笔记 > 编程语言 > 正文

Linux终端输出重定向

如何解决《Linux终端输出重定向》经验,为你挑选了1个好方法。

我想将bash脚本的输出重定向到文件.

该脚本是:

#!/bin/bash
echo "recursive c"
for ((i=0;i<=20;i+=1)); do
time ./recursive
done

但如果我像这样运行它:

script.sh >> temp.txt

只会在文件中捕获./recursive的输出.

我想捕获文件中time命令的输出.



1> Jon Ericson..:

重定向STDERRSTDOUT:

script.sh >> temp.txt  2>&1

或者如果使用bash4.0:

$ script.sh &>> temp.txt

(感谢第二种形式去评论者ephemient.我无法验证,因为我有一个早先bash.)


我的测试令人惊讶:

$ time sleep 1 > /dev/null 2>&1

real    0m1.036s
user    0m0.002s
sys     0m0.032s

问题是重定向是作为定时命令的一部分包含的.以下是此测试的解决方案:

$ (time sleep 1) > /dev/null 2>&1

我不认为这是你问题的一部分,但似乎值得一提.

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有