這篇文章主要介紹了Linux Shell腳本系列教程(七):腳本調試,本文講解了Bash內建調試功能和自定義調試功能等內容,需要的朋友可以參考下
一、調試腳本
調試功能是每一種編程語言都應該實現的重要特性之一,當出現一些始料未及的情況時,用它來生成腳本的運行信息,調試信息可以幫你弄清楚是什麼原因使得程序發生崩潰或者行為異常。
二、Bash內建調試功能
使用Bash的內建調試功能,可以對整個腳本進行調試,也可以僅對腳本中的某些語句進行調試。
#使用set -x和set +x對腳本的某一句進行調試
代碼如下:
#!/bin/bash
for i in { 1 2 3 4 5 6 };
do
set -x #開啟調試功能
echo $i #要調試的語句
set +x #關閉調試功能
done
echo "Script executed."
代碼如下:
#使用 -x選項對整個腳本進行調試
bash -x script.sh #等價於sh -x script.sh
三、 自定義調試功能
Bash內建的調試功能僅能輸出固定格式的調試信息,但在很多情況下,我們需要以自定義的格式顯示調試信息,這可以通過 _DEBUG環境變量來建立這類調試風格。
代碼如下:
#使用_DEBUG=on bash script.sh運行下列腳本
#!/bin/bash
function DEBUG()
{
[ "$_DEBUG" == "on" ] && $@ || : #使用_DEBUG環境變量調試
}
for i in { 1 2 3 }
do
DEBUG echo $i
done
我們在每一個需要打印調試信息的語句前面家DEBUG,如果沒有把_DEBUG=on傳遞個腳本,那麼調試信息就不會打印出來。在Bash中,:告訴shell不要進行任何操作。