簡體   English   中英

調試 bash/ksh 腳本和下標

[英]Debug bash/ksh script and subscripts

我知道要調試腳本我可以發出命令

set -x 

在第一行。 問題在於,當腳本啟動其他一些腳本時,它們不會繼承此設置。 所以我的問題是是否有可能為 shell 和所有子 shell 或某些腳本和它啟動的所有腳本全局設置這個標志?

在 Bash 中,您可以使用export SHELLOPTS 它將使所有 Bash 子 shell 繼承-x選項(以及 SHELLOPTS 中的所有其他選項!)。

示例:

export SHELLOPTS
bash -x script1.sh

請參閱bash 遞歸 xtrace

這取決於,你也用 -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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM