我在shell中运行以下命令:
sh myscript.sh > test.txt
输出显示在shell上。我期待输出将被放入test.txt
。
答案 0 :(得分:3)
输出不会显示在shell上,而是显示在shell上的STDERR
。
如果您希望将STDOUT
和STDERR
重定向到日志文件,请说:
sh myscript.sh > test.txt 2>&1
由于您已对问题bash进行了标记,因此您也可以说:
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