blog:https://www.cnblogs.com/Rohn編程
調試腳本所花費的時間經常比編寫代碼還要多。全部編程語言都應該實現的一個特性就是在出現始料未及的狀況時,可以生成跟蹤信息。調試信息能夠幫你弄清楚是什麼緣由使得程序行爲異常。bash
sh -x
調試運行帶有sh -x
選項的腳本能夠打印出所執行的每一行命令以及當前狀態。編程語言
sh -x script.sh # 或者 bash -x script.sh
例如test.sh
調試
#!/bin/bash for i in {103..109}; do echo $i done
執行sh -x test.sh
code
+ for i in '{103..109}' + echo 103 103 + for i in '{103..109}' + echo 104 104 + for i in '{103..109}' + echo 105 105 + for i in '{103..109}' + echo 106 106 + for i in '{103..109}' + echo 107 107 + for i in '{103..109}' + echo 108 108 + for i in '{103..109}' + echo 109 109
set
調試調試腳本中部分代碼,能夠使用set
命令。blog
set參數說明:ip
參數 | 說明 |
---|---|
-x | 在執行時顯示參數和命令。 |
+x | 禁止調試。 |
-v | 當命令進行讀取時顯示輸入。 |
+x | 禁止打印輸入。 |
把shebang從#!/bin/bash
改爲 #!/bin/bash -xv
,這樣一來,不用任何其餘選項就能夠啓用調試功能了。get