如何在不修改主脚本代码的情况下将bash跟踪(set -x
)传播到所有子脚本?有这样的方法吗?也许是一个隐藏的环境变量?
假设我有:
main.sh
#!/bin/bash
echo "Main script"
./child.sh
child.sh
#!/bin/bash
echo "child script"
我想用一些标志/环境变量/任何会导致child.sh
与set -e
一起运行而不改变任何代码的东西来调用main.sh
我通过创建如下文件$HOME/.bash_env
来完成这个任务:
set -x
然后我加上
export BASH_ENV=$HOME/.bash_env
to.bash_rc
.
因此,每个脚本将启用bash跟踪。