我有一个 bash 文件,我需要将所有输出重定向到一个文件、调试日志以及终端。我需要将 stdout 和 stderr 都重定向到调试并记录脚本中的所有命令。
我不想为2>&1 | tee -a $DEBUG
文件中的每个命令添加。我可以忍受| tee -a $DEBUG
。
我记得有一种方法可以用类似exec 2>&1
.
目前我正在使用以下内容:
#!/bin/bash
DEBUGLOG=/tmp/debug
exec 2>&1
somecommand | tee -a $DEBUGLOG
somecommand2 | tee -a $DEBUGLOG
somecommand3 | tee -a $DEBUGLOG
Run Code Online (Sandbox Code Playgroud)
但它不起作用。有没有人有解决方案/可以解释原因?