Shell 指令碼除錯

2021-10-09 06:44:44 字數 999 閱讀 7998

shell指令碼除錯

在shell指令碼開發中,經常碰到一些規範方面的問題,例如忘記使用引號、忘記在if語句末尾處加fi結束等。要注意把複雜的指令碼簡單化,要思路清晰,分段實現。當執行指令碼時出現錯誤後,不要只看提示的錯誤行,而要觀察整個相關的**。

為了避免編寫的指令碼出錯,除了在編寫指令碼時注意規範,排除語法錯誤,更重要的是利用除錯指令碼工具。echo命令是最有用的除錯指令碼工具之一,一般在可能出現問題的指令碼中加入echo命令,採用分段排查方式

除了echo命令,bash shell也有相應引數可以除錯指令碼。

bash命令

·格式:sh [-nvx] 指令碼名

·常用引數:

-n:不會執行該指令碼,僅查詢指令碼語法是否有問題,如果沒有語法問題就不顯示任何內容,如果有問題會提示報錯。

-v:在執行指令碼時,先將指令碼的內容輸出到螢幕上然後執行指令碼,如果有錯誤,也會給出錯誤提示。

-x:將執行的指令碼內容輸出到螢幕上,這個是對除錯很有用的引數。

例:我們選取乙個指令碼檔案,按照上述三個選項看看效果

set命令

當指令碼檔案較長時,可以使用set命令指定除錯一段指令碼。

·set -x :開啟調節模式

·set +x :關閉調節模式

例:

這裡以一段分數等級判斷為例,可以看到三次輸入不同分數,每次都會顯示出判斷過程。

Shell 指令碼除錯

除錯功能是每一門程式語言都應該實現的重要特性,每個系統程式設計師都應該了解bash的除錯選項 1.使用選項 x,啟動shell指令碼的跟蹤除錯功能,將執行的每一條命令和輸出的結果輸出 test.sh檔案 bin bash foriin do echo i done echo script execu...

除錯shell指令碼

遇見莫名其妙的錯誤,先dos2uinux指令碼。echo命令是最有用的除錯指令碼工具之一。一般在可能出現問題的指令碼前後加入echo命令 使用bash命令引數進行除錯 引數 n 不會執行該指令碼,僅查詢指令碼語法是否有問題,並給出錯誤提示。v 在執行指令碼時,先將指令碼的內容輸出到螢幕上然後執行指令...

shell 指令碼除錯

發表於 2016 4 27 0 03 30 1693 人閱讀 分類 shell 除錯功能是每一門程式語言都應該實現的重要特性,每個系統程式設計師都應該了解bash的除錯選項 1.使用選項 x,啟動shell指令碼的跟蹤除錯功能,將執行的每一條命令和輸出的結果輸出 test.sh檔案 bin bash...