如何调试用" exec"调用的shell脚本?

时间:2018-05-06 13:41:02

标签: bash shell debugging

假设我有一个bash脚本foo.bash,它使用exec运行另一个bash脚本:

exec bar.bash

现在正在调试foo.bashbar.bash。我正在使用foo.bash运行bash -x但在调试模式下它不会运行bar.bash。如何在调试模式下运行bar.bash呢?

2 个答案:

答案 0 :(得分:3)

您也可以从foo.bash导出SHELLOPTS以导出shell选项。

export SHELLOPTS

答案 1 :(得分:1)

-x添加到bar.bash的shebang行:

#!/bin/bash -x

如果您不想修改bar.bash,请将exec行更改为:

exec bash -x bar.bash