shell script 的追蹤與 debug

2022-04-13 07:40:00 字數 1126 閱讀 4539

shell script 的追蹤與 debug

scripts 在執行之前,最怕的就是出現語法錯誤的問題了!那麼我們如何 debug 呢?有沒有辦法不需要透過直接執行該 scripts 就可以來判斷是否有問題呢?呵呵!當然是有的!我們就直接以 bash 的相關引數來進行判斷吧!

[root@www ~]# sh [-nvx] scripts.sh

選項與引數:

-n :不要執行 script,僅查詢語法的問題;

-v :再執行 sccript 前,先將 scripts 的內容輸出到螢幕上;

-x :將使用到的 script 內容顯示到螢幕上,這是很有用的引數!

範例一:測試 sh16.sh 有無語法的問題?

[root@www ~]# sh -n sh16.sh

# 若語法沒有問題,則不會顯示任何資訊!

範例二:將 sh15.sh 的執行過程全部列出來~

[root@www ~]# sh -x sh15.sh

+ path=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/root/bin

+ export path

+ for animal in dog cat elephant

+ echo 'there are dogs.... '

there are dogs....

+ for animal in dog cat elephant

+ echo 'there are cats.... '

there are cats....

+ for animal in dog cat elephant

+ echo 'there are elephants.... '

there are elephants....

請注意,上面範例二中執行的結果並不會有顏色的顯示!鳥哥為了方便說明所以在 + 號之後的資料都加上顏色了!在輸出的資訊中,在加號後面的資料其實都是命令串,由於 sh -x 的方式來將命令執行過程也顯示出來,如此使用者可以判斷程式碼執行到哪一段時會出現相關的資訊!這個功能非常的棒!透過顯示完整的命令串,你就能夠依據輸出的錯誤資訊來訂正你的指令碼了!

**《鳥哥》

shell script 的追蹤與 debug

shell script 的追蹤與 debug scripts 在執行之前,最怕的就是出現語法錯誤的問題了!那麼我們如何 debug 呢?有沒有辦法不需要透過直接執行該 scripts 就可以來判斷是否有問題呢?呵呵!當然是有的!我們就直接以 bash 的相關引數來進行判斷吧!root www sh...

source命令與shell scripts的區別

執行如下命令.set env.sh 設定相關環境變數時發現 當此命令執行結束後,指令碼中所設定的環境變數仍為空,感覺此指令碼沒有執行 執行.set env.sh指令碼執行成功。通過上網查詢,發現是由於source命令與shell scripts的作用範圍不同而導致的。source命令與shell s...

python request的重定向與追蹤

請求 會做乙個 302 重定向,最終到乙個 pdf 資源頁。預設啟動重定向,返回的狀態碼是最後的 200 import requests first link headers resp requests.get first link,headers headers print resp 禁用重定向之...