如何為我自己以外的腳本“設定 -x”

如何為我自己以外的腳本“設定 -x”

我仍在處理來自的錯誤另一個問題由於我無法獲取調試信息,因此沒有得到答复。

我有運行其他腳本的腳本,我需要查看 tty 如何與終端斷開連接。

有沒有辦法在全球範圍內「設定-x」?我無法在問題腳本中設定它,因為它是動態生成的,而不是由我生成的,但我想看看它出了什麼問題。

答案1

使用 shell 選項集呼叫 Bash

根據調用 BashBash 手冊的部分,

當呼叫 shell 時,與 set 內建函數一起使用的所有單字元選項(請參閱 Set 內建函數)都可以用作選項

xtrace這意味著您可以透過直接使用選項和腳本的檔案名稱作為參數呼叫來運行帶有選項設定的bashBash-x腳本,例如,

bash -x /path/to/script

為所有 shell 腳本配置 shell 選項

當您說“全局”時,我認為您希望它xtrace為 Bash 的所有非互動式呼叫設定選項。為此,請將BASH_ENV環境變數設定為適當的檔案名,然後建立該檔案作為set -x其內容:

export BASH_ENV=~/.bash_env
echo set -x > ~/.bash_env

從手冊頁:

例如,當 bash 以非互動方式啟動時,要執行 shell 腳本,它會BASH_ENV在環境中尋找變量,如果變數出現在環境中,則擴展其值,並使用擴展後的值作為要讀取和執行的文件的名稱。

相關內容