1、使用dos2unix命令處理在windows下開發的指令碼
2、使用echo命令除錯
3、使用bash命令引數除錯
[root@ks ~]# sh [-nvx] nginx.sh
引數說明:
-n:不會執行該指令碼,僅查詢指令碼語法是否有問題,並給出錯誤提示
-v:在執行指令碼時,先將指令碼的內容輸出到螢幕上,然後執行指令碼。如果有錯誤,也會給出錯誤提示。
-x:將執行的指令碼內容及輸出顯示到螢幕上
,這是對除錯很有用的引數
[root@manager day6]# sh -n 1.sh
[root@manager day6]# sh -v 1.sh
#!/bin/bash#**
****
****
****
****
****
****
****
****
****
****
****
****
****
****
***#author: pyy
#date: 2020-06-25
#filename: 1.sh#**
****
****
****
****
****
****
****
****
****
****
****
****
****
****
***i=
1#while [ $i -le 10 ]
#while ((i<=10))
until (
(i>10)
)dolet sum+
=i let i++
done
echo "1+2+.....+10=$sum"1+
2+..
...+
10=55[root@manager day6]# sh -x 1.sh
+ i=1+
(( i>10)
)+ let sum+
=i+ let i+++(
( i>10)
)+ let sum+
=i+ let i+++(
( i>10)
)+ let sum+
=i+ let i+++(
( i>10)
)+ let sum+
=i+ let i+++(
( i>10)
)+ let sum+
=i+ let i+++(
( i>10)
)+ let sum+
=i+ let i+++(
( i>10)
)+ let sum+
=i+ let i+++(
( i>10)
)+ let sum+
=i+ let i+++(
( i>10)
)+ let sum+
=i+ let i+++(
( i>10)
)+ let sum+
=i+ let i+++(
( i>10)
)+ echo 1+2
+...
..+10
=551+
2+..
...+
10=55
4、使用set命令除錯部分指令碼內容
[root@manager day4]# cat test1.sh
#!/bin/bash#**
****
****
****
****
****
****
****
****
****
****
****
****
****
****
***#author: pyy
#date: 2020-06-14
#filename: test1.sh#**
****
****
****
****
****
****
****
****
****
****
****
****
****
****
***#給定乙個使用者,判斷其uid與gid是否一樣,如果一樣,就顯示該使用者為「good guy」 否則顯示為"bad guy"
read -p "請輸入乙個使用者名稱:" user_name
#開啟除錯功能
set -x
if id $user_name &
>
/dev/null
then
if[ $(id -u $user_name)
-eq $(id -g $user_name)
] then
echo "good guy"
else
echo "bod guy"
fielse
echo "$user_name is not exists"
fi#關閉除錯功能
set +x
[root@manager day4]# sh test1.sh
請輸入乙個使用者名稱:centos
+ id centos
++ id -u centos
++ id -g centos
+'['
1000
-eq 1000
']'+ echo 'good guy'
good guy
+ set +x
Shell 指令碼除錯
除錯功能是每一門程式語言都應該實現的重要特性,每個系統程式設計師都應該了解bash的除錯選項 1.使用選項 x,啟動shell指令碼的跟蹤除錯功能,將執行的每一條命令和輸出的結果輸出 test.sh檔案 bin bash foriin do echo i done echo script execu...
除錯shell指令碼
遇見莫名其妙的錯誤,先dos2uinux指令碼。echo命令是最有用的除錯指令碼工具之一。一般在可能出現問題的指令碼前後加入echo命令 使用bash命令引數進行除錯 引數 n 不會執行該指令碼,僅查詢指令碼語法是否有問題,並給出錯誤提示。v 在執行指令碼時,先將指令碼的內容輸出到螢幕上然後執行指令...
shell 指令碼除錯
發表於 2016 4 27 0 03 30 1693 人閱讀 分類 shell 除錯功能是每一門程式語言都應該實現的重要特性,每個系統程式設計師都應該了解bash的除錯選項 1.使用選項 x,啟動shell指令碼的跟蹤除錯功能,將執行的每一條命令和輸出的結果輸出 test.sh檔案 bin bash...