Linux Shell腳本系列教程(七):腳本調(diào)試
一、調(diào)試腳本
調(diào)試功能是每一種編程語言都應(yīng)該實現(xiàn)的重要特性之一,當(dāng)出現(xiàn)一些始料未及的情況時,用它來生成腳本的運行信息,調(diào)試信息可以幫你弄清楚是什么原因使得程序發(fā)生崩潰或者行為異常。
二、Bash內(nèi)建調(diào)試功能
使用Bash的內(nèi)建調(diào)試功能,可以對整個腳本進(jìn)行調(diào)試,也可以僅對腳本中的某些語句進(jìn)行調(diào)試。
#使用set -x和set +x對腳本的某一句進(jìn)行調(diào)試
#!/bin/bash
for i in { 1 2 3 4 5 6 };
do
set -x #開啟調(diào)試功能
echo $i #要調(diào)試的語句
set +x #關(guān)閉調(diào)試功能
done
echo "Script executed."
#使用 -x選項對整個腳本進(jìn)行調(diào)試
bash -x script.sh #等價于sh -x script.sh
三、 自定義調(diào)試功能
Bash內(nèi)建的調(diào)試功能僅能輸出固定格式的調(diào)試信息,但在很多情況下,我們需要以自定義的格式顯示調(diào)試信息,這可以通過 _DEBUG環(huán)境變量來建立這類調(diào)試風(fēng)格。
#使用_DEBUG=on bash script.sh運行下列腳本
#!/bin/bash
function DEBUG()
{
[ "$_DEBUG" == "on" ] && $@ || : #使用_DEBUG環(huán)境變量調(diào)試
}
for i in { 1 2 3 }
do
DEBUG echo $i
done
我們在每一個需要打印調(diào)試信息的語句前面家DEBUG,如果沒有把_DEBUG=on傳遞個腳本,那么調(diào)試信息就不會打印出來。在Bash中,:告訴shell不要進(jìn)行任何操作。
相關(guān)文章
linux shell實現(xiàn)隨機(jī)數(shù)幾種方法分享(date,random,uuid)
這篇文章主要介紹了linux shell實現(xiàn)隨機(jī)數(shù)多種方法(date,random,uuid),需要的朋友可以參考下2015-10-10
Linux查看端口、進(jìn)程情況及kill進(jìn)程的方法
下面小編就為大家?guī)硪黄狶inux查看端口、進(jìn)程情況及kill進(jìn)程的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05
Linux命令每天必學(xué)之 useradd/adduser 新增用戶
Linux下useradd或adduser命令用來建立用戶帳號和創(chuàng)建用戶的起始目錄,使用權(quán)限是超級用戶。接下來通過本文給大家介紹每天必學(xué)Linux命令之 useradd/adduser 新增用戶的相關(guān)知識,需要的朋友參考下吧2018-10-10

