shell指令碼之教你如何獲取上一條命令的內容及結果

2021-10-09 18:05:45 字數 847 閱讀 9611

針對命令的結果進行判斷只能知道哪一步出錯,但是無法知道具體執行了什麼命令,雖然可以用-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...