如何在嵌套调用shell脚本时使bash/shell"set -x"变粘

jav*_*dba 2 bash shell

我正在尝试跟踪/调试一个shell脚本,该脚本又包含对其他shell脚本的嵌套调用.

我的方法是:

  • set -x(在bash提示符下)
  • 将!/ bin/bash -x添加到主/入口点bash脚本中

第二种方法最终会显示shell对脚本的执行情况.但是嵌套脚本似乎不会继承该设置 - 无论是来自bash提示符下的"set -x"还是来自调用shell脚本.

任何实现继承行为的方法 - 缺少修改每个嵌套脚本?

MrT*_*Tux 5

您可以使用SHELLOPTS环境变量使"sub"shell使用相同的选项.您只需在调用子shell之前导出它:

export SHELLOPTS
Run Code Online (Sandbox Code Playgroud)