将控制台的所有 stderr 和后续命令重定向到文件

将控制台的所有 stderr 和后续命令重定向到文件

我知道如何在发出命令时重定向stderr到文件或重定向到:或甚至。但是,我想将所有内容重定向到一个文件,因为我打开了 bash 控制台,因此控制台中执行的命令的所有错误消息都将重定向到该文件。那可能吗?如果是这样,要放入的命令是什么?stdoutcommand 2 > logcommand 2 > &1command 2 > &1 > /dev/nullstderr.bashrc

答案1

如果您想记录错误但也想查看它们:

exec 2> >(tee -a error.log)

嗯,刚刚测试过,它记录了整个会话。有人知道为什么吗?

答案2

您可以使用

exec 2> log

文档指出:

如果未指定 COMMAND,任何重定向都会在当前 shell 中生效。

相关内容