小编典典

如何在执行之前打印每个命令?

all

设置在执行每个命令之前打印每个命令的 Bash 脚本的最佳方法是什么?

这对于调试目的非常有用。

我已经尝试过了:

CMD="./my-command --params >stdout.txt 2>stderr.txt"
echo $CMD
`$CMD`

它应该首先打印:

./my-command --params >stdout.txt 2>stderr.txt

然后执行./my-command --params,将输出重定向到指定的文件。


阅读 74

收藏
2022-04-18

共1个答案

小编典典

set -o xtrace

或者

bash -x myscript.sh

这也适用于标准 /bin/sh 以及 IIRC(那么它可能是 POSIX 的东西)

请记住,有 bashdb ( bash Shell Debugger, release 4.0-0.4)


要恢复正常,请退出子 shell 或

set +o xtrace
2022-04-18