假设我在脚本“a.sh”中执行set -x,它调用了另一个脚本“b.sh”。

是否可以让“b.sh”继承“a.sh”的-x选项?

最佳答案

export SHELLOPTS

例如:
echo date > b
chmod +x b

如果没有导出,则仅在./a调用./b时才能看到命令:
$ echo ./b > a
$ bash -xv a

./b
+ ./b
Sun Dec 29 21:34:14 EST 2013

但是如果导出SHELLOPTS,我们会在./a./b中看到命令
$ echo "export SHELLOPTS; ./b" > a
$ bash -xv a

./b
+ ./b  date
++ date
Sun Dec 29 21:34:36 EST 2013

10-07 21:45