
我用來-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 -u
set -u
help set
有些選項也有長形式,例如set -o xtrace
與 相同set -x
。
(* 不過,我們不能反過來說。並非所有命令列選項都可以使用 來設置set
,例如-l
沒有等效項,顯然也沒有-c
。)