Shell 除錯指令碼

2022-06-17 06:00:14 字數 974 閱讀 9636

blog:

個人

除錯指令碼所花費的時間常常比編寫**還要多。所有程式語言都應該實現的乙個特性就是在出現始料未及的情況時,能夠生成跟蹤資訊。除錯資訊可以幫你弄清楚是什麼原因使得程式行為異常。

執行帶有sh -x選項的指令碼可以列印出所執行的每一行命令以及當前狀態。

sh -x script.sh

# 或者

bash -x script.sh

例如test.sh

#!/bin/bash 

for i in ; do

echo $i

done

執行sh -x test.sh

+ for i in ''

+ echo 103

103+ for i in ''

+ echo 104

104+ for i in ''

+ echo 105

105+ for i in ''

+ echo 106

106+ for i in ''

+ echo 107

107+ for i in ''

+ echo 108

108+ for i in ''

+ echo 109

109

除錯指令碼中部分**,可以使用set命令。

set引數說明:

引數說明

-x在執行時顯示引數和命令。

+x禁止除錯。

-v當命令進行讀取時顯示輸入。

+x禁止列印輸入。

把shebang從#!/bin/bash改成#!/bin/bash -xv,這樣一來,不用任何其他選項就可以啟用除錯功能了。

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