如何臨時更改 bash 追蹤/詳細模式?

如何臨時更改 bash 追蹤/詳細模式?

我用來-x追蹤 bash 腳本的執行:

#!/bin/bash -x

x=1
y=2

執行期間發送到輸出

+ x=1
+ y=2

問題:如何在腳本中間停止/暫停追蹤模式然後再次啟用它?請注意 ti 與 y=2 >/dev/null 之類的內容無關。

是否可以使用詳細模式 ( #!/bin/bash -v)?

答案1

set內建控制這些選項。

打開xtrace

set -x

要將其關閉:

set +x

這有點像加號和減號的逆邏輯,但事實就是如此。

同樣,所有其他支援的選項也可以在命令列(*)set上設置,與等相同。bash -uset -uhelp set

有些選項也有長形式,例如set -o xtrace與 相同set -x

(* 不過,我們不能反過來說。並非所有命令列選項都可以使用 來設置set,例如-l沒有等效項,顯然也沒有-c。)

相關內容