Shell:調試腳本

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

+ 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調試

把shebang從#!/bin/bash改爲 #!/bin/bash -xv,這樣一來,不用任何其餘選項就能夠啓用調試功能了。get

相關文章
相關標籤/搜索