[英]Debug bash/ksh script and subscripts
我知道要調試腳本我可以發出命令
set -x
在第一行。 問題在於,當腳本啟動其他一些腳本時,它們不會繼承此設置。 所以我的問題是是否有可能為 shell 和所有子 shell 或某些腳本和它啟動的所有腳本全局設置這個標志?
在 Bash 中,您可以使用export SHELLOPTS
。 它將使所有 Bash 子 shell 繼承-x
選項(以及 SHELLOPTS 中的所有其他選項!)。
示例:
export SHELLOPTS
bash -x script1.sh
這取決於,你也用 -x 調用你的子shell,
將set -x
放在 Shell 腳本中
$ cat shell1.sh
echo "Shell1"
$ cat shell2.sh
#!/bin/bash
set -x
./shell1.sh
echo "shell2.sh"
$ ./shell2.sh
+ ./shell1.sh
Shell1
+ echo shell2.sh
shell2.sh
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.