为什么>不将输出重定向到文本文件

时间:2013-10-30 09:40:26

标签: bash unix

我在shell中运行以下命令:

sh myscript.sh > test.txt

输出显示在shell上。我期待输出将被放入test.txt

2 个答案:

答案 0 :(得分:3)

输出不会显示在shell上,而是显示在shell上的STDERR

如果您希望将STDOUTSTDERR重定向到日志文件,请说:

sh myscript.sh > test.txt 2>&1

由于您已对问题进行了标记,因此您也可以说:

bash myscript.sh >& test.txt

答案 1 :(得分:1)

打印输出可能是标准错误输出。

使用以下内容,您还可以重定向标准错误(文件描述符2):

sh myscript.sh > test.txt 2>&1

在bash中,您还可以使用以下表单:

sh myscript.sh &> test.txt  # This is preferred according to bash(1).

sh myscript.sh >& test.txt