針對命令的結果進行判斷只能知道哪一步出錯,但是無法知道具體執行了什麼命令,雖然可以用-x引數進行除錯,但是眼花繚亂的字元看起來太麻煩了,所以為何不執行獲取沒一條命令內容及結果進行判斷呢?
最簡單的一種就是利用函式及傳參,測試內容如下
[root@controller ~]
# cat t
cmd(
)echo
"第一條命令"
cmd "ip a"
echo
"第二條命令"
cmd "rm -f dd"
echo
'第三'
cmd 'sd'
[root@controller ~]
# cat t
cmd(
)echo
"第一條命令"
cmd "ip a"
echo
"第二條命令"
cmd "rm -f dd"
echo
'第三'
cmd 'sd'
[root@controller ~]
# bash t
第一條命令
執行的命令: [ip a] 執行結果: 成功
第二條命令
執行的命令: [rm -f dd] 執行結果: 成功
第三t:行2: sd: 未找到命令
執行命令:[sd] 執行結果:失敗
這樣子就兩全其美了,如果還有更好的辦法的話還請告知,謝謝
教你用shell指令碼在Linux上獲取外網IP位址
基於linux系統的獲取外網ip位址的shell指令碼,指令碼內容如下 getip.sh bin bash 檢查ip的合法性 check ipaddr 0 9 0 9 dev null if ne 0 then echo ip位址必須全部為數字 return 1 fiipaddr 1 a echo ...
教你用shell指令碼在Linux上獲取外網IP位址
bin bash 檢查ip的合法性 check ipaddr 0 9 0 9 dev null if ne 0 then echo ip位址必須全部為數字 return 1 fiipaddr 1 a echo ipaddr awk f 以 分隔,取出每個列的值 b echo ipaddr awk f...
shell指令碼如何獲取當前時間
在shell指令碼裡常常需要獲取系統時間來處理某項操作,今天系統的學習了一下如何獲取系統時間。記錄如下 linux的系統時間在shell裡是可以直接呼叫系統變數的如 獲取今天時期 date y m d 或 date f 或 date y m d 命令輸出結果如下 root centi c sh da...