我在 shell 中运行以下命令:
sh myscript.sh > test.txt
输出显示在 shell 上。我期待输出将被放入test.txt
.
输出不显示在外壳上,而是STDERR
显示在外壳上。
如果您希望STDOUT
和STDERR
都被重定向到日志文件,请说:
sh myscript.sh > test.txt 2>&1
由于您已标记问题bash,您还可以说:
bash myscript.sh >& test.txt
打印输出可能是标准错误输出。
使用以下,您还可以重定向标准错误(文件描述符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