如何調試Linux shell腳本
更新時間:2013年06月08日 00:44:13 作者:
最簡單的調試命令當然是使用echo命令。您可以使用echo在任何懷疑出錯的地方打印任何變量值。這也是絕大多數的shell程序員要花費80%的時間來調試程序的原因。Shell程序的好處在于不需要重新編譯,插入一個echo命令也不需要多少時間
shell也有一個真實的調試模式。如果在腳本"strangescript" 中有錯誤,您可以這樣來進行調試:
sh -x strangescript
這將執(zhí)行該腳本并顯示所有變量的值。
shell還有一個不需要執(zhí)行腳本只是檢查語法的模式??梢赃@樣使用:
sh -n your_script
這將返回所有語法錯誤。
linux/unix shell l腳本調試方法
Shell提供了一些用于調試腳本的選項,如下所示:
-n
讀一遍腳本中的命令但不執(zhí)行,用于檢查腳本中的語法錯誤
-v
一邊執(zhí)行腳本,一邊將執(zhí)行過的腳本命令打印到標準錯誤輸出
-x
提供跟蹤執(zhí)行信息,將執(zhí)行的每一條命令和結果依次打印出來
使用這些選項有三種方法,一是在命令行提供參數
$ sh -x ./script.sh二是在腳本開頭提供參數
#! /bin/sh -x第三種方法是在腳本中用set命令啟用或禁用參數
#! /bin/sh
if [ -z "$1" ]; then
set -x
echo "ERROR: Insufficient Args."
exit 1
set +x
fiset -x和set +x分別表示啟用和禁用-x參數,這樣可以只對腳本中的某一段進行跟蹤調試。
sh -x strangescript
這將執(zhí)行該腳本并顯示所有變量的值。
shell還有一個不需要執(zhí)行腳本只是檢查語法的模式??梢赃@樣使用:
sh -n your_script
這將返回所有語法錯誤。
linux/unix shell l腳本調試方法
Shell提供了一些用于調試腳本的選項,如下所示:
-n
讀一遍腳本中的命令但不執(zhí)行,用于檢查腳本中的語法錯誤
-v
一邊執(zhí)行腳本,一邊將執(zhí)行過的腳本命令打印到標準錯誤輸出
-x
提供跟蹤執(zhí)行信息,將執(zhí)行的每一條命令和結果依次打印出來
使用這些選項有三種方法,一是在命令行提供參數
$ sh -x ./script.sh二是在腳本開頭提供參數
#! /bin/sh -x第三種方法是在腳本中用set命令啟用或禁用參數
復制代碼 代碼如下:
#! /bin/sh
if [ -z "$1" ]; then
set -x
echo "ERROR: Insufficient Args."
exit 1
set +x
fiset -x和set +x分別表示啟用和禁用-x參數,這樣可以只對腳本中的某一段進行跟蹤調試。
相關文章
shell監(jiān)控腳本實例—監(jiān)控mysql主從復制
分享一例shell腳本,用于監(jiān)測mysql數據庫的主從復制,有需要的朋友不妨參考學習下2013-11-11用expect實現(xiàn)的自動登錄到多臺服務器的shell腳本
自動登錄到多臺服務器的shell腳本,用expect來實現(xiàn)的一段代碼,需要的朋友可以參考下2013-02-02阿里云云服務器Linux系統(tǒng)更新yum源Shell腳本
這篇文章主要介紹了阿里云云服務器Linux系統(tǒng)更新yum源Shell腳本,阿里云自建了一個包含大多數系統(tǒng)更新的本地yum源,速度快又好用,需要的朋友可以參考下2014-09-09