在bash中,如何将“set-x”打印行打印到stdout而不是stderr?

我想在每个命令扩展命令之后和执行它之前跟踪它,就像什么set -x一样,但我不希望它被打印出来做 stderr。

我知道我可以将 stderr 重定向到 stdout,例如exec 2>&1,但这将重定向所有 stderr(并且exec会被打印到 stderr)。我仍然希望将实际的错误消息打印到 stderr,因此重定向所有内容并不是我想要的。

回答

设置BASH_XTRACEFD

BASH_XTRACEFD=1

  • It should be noted that this variable was added in Bash 4.1, cf. https://github.com/bminor/bash/blob/master/CHANGES

以上是在bash中,如何将“set-x”打印行打印到stdout而不是stderr?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>