我想知道是否有办法将set -x
输出写入脚本中的文件,而不是从命令提示符调用tee
。
例如,我通常在命令提示符下使用myScript.sh 2>&1 | tee mylog.log
。这会将set -x复制到我希望的日志文件中。
有没有办法在myScript.sh
内部化它,所以如果我不需要调试,我可以将其设置为关闭的标志。仅从命令提示符运行myScript.sh
。
THX 领域
答案 0 :(得分:1)
在您的脚本中,将此行放在顶部:
#!/bin/bash
[[ $1 == "debug" ]] && { exec 2>err.txt; set -x; }
# rest of the script
现在,当您将脚本称为:
时./myScript.sh debug
您将获得一个创建为err.txt
的文件,其中包含set -x
的输出(如果有其他错误)