如何将 STDERR 重定向到文件和控制台,并将 STDOUT 仅重定向到文件

如何将 STDERR 重定向到文件和控制台,并将 STDOUT 仅重定向到文件

我想要实现的是将正常消息和错误消息重定向到文件。但也将错误消息打印到控制台(仅错误消息)。

答案1

其中一个解决方案如下:

command 2>&1 1>logfile | tee -a logfile

钥匙:

`2>&1` redirect the output of STDERR to STDOUT
`1>logfile` redirect STDOUT (note: leaves STDERR unchanged)
`| tee -a logfile` append the redirected STDERR to the logfile

有关详细信息,请参阅Bash 黑客维基

相关内容