1. bash -x 加腳本
這是最常用的調試手段,終端會打印出,腳本執行過程(cheng)中的每一個命令(ling)。
a. 查看腳本流程有(you)無錯誤
b.查看變量值有無錯誤(wu)
c.查看退(tui)出(chu)位(wei)置是否符合預期
例如腳本 small_test.sh
#!/bin/bash
echo 1
echo 2
echo 3
shell中執行
bash -x small_test.sh
執(zhi)行效果,會打印出,每一行代碼的執(zhi)行細節(jie),類(lei)似于(yu)gdb的調試。
[root@localhost ~]# bash -x small_test.sh
+ echo 1
1
+ echo 2
2
+ echo 3
3
2. bash一但(dan)有任何一個(ge)語句返回非真的值,則退出bash
set -o errexit
或者寫作
set -e
使用(yong)用(yong)方法(fa),直(zhi)接在腳本中寫入
#!/bin/bash
#開啟檢查
set -e
#如果cd失敗,腳本會退出
cd /dir1
ls -l
#關閉檢查
set +e
當(dang)cd到某(mou)個目錄刪(shan)除文件時(shi),能防止(zhi)cd失(shi)敗后,誤刪(shan)除。
3. 使用未(wei)初始(shi)化(hua)的(de)變(bian)量時,讓bash自動退出
set -o nounset
或者寫作
set -u
使用(yong)方法與set -e類似(si)。
以上就是shell調試的一些技巧。