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...