我知道要调试脚本我可以发出命令
set -x
在第一行。问题是当脚本启动其他一些脚本时,它们不会继承此设置。所以我的问题是,是否有可能为shell和所有子shell或某些脚本及其启动的所有脚本全局设置此标志?
答案 0 :(得分:0)
这取决于你用-x调用你的子shell,
答案 1 :(得分:0)
将set -x
放在Shell脚本
$ cat shell1.sh
echo "Shell1"
$ cat shell2.sh
#!/bin/bash
set -x
./shell1.sh
echo "shell2.sh"
$ ./shell2.sh
+ ./shell1.sh
Shell1
+ echo shell2.sh
shell2.sh
答案 2 :(得分:0)
在Bash中,您可以使用export SHELLOPTS
。它将使所有Bash子Shell继承-x
选项(以及其他选项!)。
示例:
export SHELLOPTS
bash -x script1.sh