Bash 如何调试使用";调用的shell脚本;执行官;?
假设我有一个bash脚本Bash 如何调试使用";调用的shell脚本;执行官;?,bash,shell,debugging,Bash,Shell,Debugging,假设我有一个bash脚本foo.bash,它使用exec运行另一个bash脚本: exec bar.bash 现在我正在调试foo.bash和bar.bash。我正在用bash-x运行foo.bash,但它没有在调试模式下运行bar.bash。我应该怎么做才能在调试模式下运行bar.bash 将-x添加到bar.bash的shebang行: #!/bin/bash -x 如果不想修改bar.bash,请将exec行更改为: exec bash -x bar.bash 您还可以从foo.ba
foo.bash
,它使用exec
运行另一个bash脚本:
exec bar.bash
现在我正在调试
foo.bash
和bar.bash
。我正在用bash-x运行foo.bash
,但它没有在调试模式下运行bar.bash
。我应该怎么做才能在调试模式下运行bar.bash
将-x
添加到bar.bash
的shebang行:
#!/bin/bash -x
如果不想修改bar.bash
,请将exec
行更改为:
exec bash -x bar.bash
您还可以从foo.bash
导出shell选项
export SHELLOPTS
我是否可以不修改foo.bash
?您可以从调用shell在-x
中设置:$set-x;导出SHELLOPTS/foo.bash
-这不需要更改foo.bash
。您还可以从子shell运行此命令,以便不打印其他所有内容的调试输出:$(set-x;export SHELLOPTS;/foo.bash)
。