Shell腳本調試選項
Shell本身提供一些調試方法選項:
- -n,讀一遍腳本中的命令但不執行,用於檢查腳本中的語法錯誤。
- -v,一邊執行腳本,一邊將執行過的腳本命令打印到標准輸出。
- -x,提供跟蹤執行信息,將執行的每一條命令和結果依次打印出來。
使用這些選項有三種方法(注意:避免幾種調試選項混用)
- 1.在命令行提供參數:
$sh -x script.sh
- 2.腳本開頭提供參數:
#!/bin/sh -x
- 3.在腳本中用set命令啟用or禁用參數:其中
set -x
表示啟用,set +x
表示禁用。
set命令的詳細說明
ShellCheck
- http://www.shellcheck.net/
- 是一個Shell腳本分析工具,可以為bash/sh shell腳本提出警告和建議。
- GitHub:https://github.com/koalaman/shellcheck
ExplainShell
- https://www.explainshell.com/
- write down a command-line to see the help text that matches each argument
BASH Debugger
- 主頁:http://bashdb.sourceforge.net/
- 下載地址:https://sourceforge.net/projects/bashdb/files/
- 使用手冊:http://bashdb.sourceforge.net/bashdb-man.html
借助第三方工具bashd可以更加精細地調試Shell腳本。具有斷點、單步執行、觀察變量等功能。
下載時需根據所使用的bash版本選擇相應的bashdb,否則會提示因為版本不符合而無法安裝。
- 查看bash版本:
bash --version
- 典型用法:
bashdb --debug script.sh