我知道在Linux中,要将屏幕输出重定向到文件,可以使用>或tee。然而,我不确定为什么部分输出仍然输出到屏幕而没有写入文件。

是否有方法将所有输出重定向到文件?


当前回答

您可以稍后使用exec命令重定向任何命令的所有stdout/stderr输出。

示例脚本:

exec 2> your_file2 > your_file1
your other commands.....

其他回答

命令:

foo >> output.txt 2>&1

附加到output.txt文件,而不替换内容。

使用>>附加:

命令>>文件

这可能是标准错误。您可以重定向它:

... > out.txt 2>&1

您可以稍后使用exec命令重定向任何命令的所有stdout/stderr输出。

示例脚本:

exec 2> your_file2 > your_file1
your other commands.....

感谢osexp2003和j.a…


而不是:

&>> your_file.log

在以下行后面:

crontab -e

我使用:

#!/bin/bash
exec &>> your_file.log
…

在BASH脚本的开头。

优点:脚本中有日志定义。有利于Git等。