久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

shell基礎第八講

1、命令執行狀態返回值
相信大家學習到這里肯定是對命令的使用有一定的了解,不知道大家發現沒有我們執行命令有時候會成功,有時候會失敗,在我們制作自動化腳本中,如果過程中間有一個命令執行失敗了就會導致任務停止,這個時候我們就會通過判斷命令是否執行成功的方式來起到一個承上啟下的作用,這種思想在實際工作中使用很多。
大家應該還記得我們之前分享過幾個位置參數,比如$1,$2..以此往后,他們分別表示執行腳本的第一個參數,第二個參數.. 以此往后。他們有共同的特點就是都是一個$字符加上一個數字來表示,而命令執行狀態返回值同樣也使用到了$這個字符本身。
命令執行狀態值有兩種結果,一種為0,表示命令執行成功,還有一種為1~255之間的任意一個數值,這都是表示命令執行是失敗的。
獲取命令執行狀態返回值我們使用 $? 來獲取,我們可以使用echo回顯命令來獲取,比如:
bash [root@master1 ~]#echo $?
注意:這里需要強調的是使用$? 是用來判斷上一條命令的執行狀態值的,因此在你執行完命令之后你需要立馬使用 echo $? 來獲取狀態值,中間不能再執行任何其他的命令,比如我們執行一個命令來看看:
bash [root@master1 ~]#ls -l 總用量 4 -rw-------. 1 root root 1261 6月 13 2019 anaconda-ks.cfg [root@master1 ~]#echo $? 0
當我查看當前目錄的詳細文件信息時,他就打印給我們了,命令執行本身是沒有錯誤的,因此我們查看$?的值可以看到是0。我們再來看一個例子
bash [root@master1 ~]#lss -l bash: lss: 未找到命令… 相似命令是: 'ls' [root@master1 ~]#echo $? 127
當我不小心執行了lss命令時,shell返回一個錯誤給我們,此時我立即查看命令狀態返回值,發現是127,這就表示這條命令是失敗的,我們也可以看到報錯原因是因為系統中沒有這個命令導致報錯。
2、使用案例:
比如下面這個例子:
bash [root@master1 ~]#lss -l &> /dev/null [root@master1 ~]#if [ $? -eq 0 ];then echo "正確";else echo "出錯啦";fi 出錯啦
shell腳本中經常使用到諸如把命令執行結果寫入/dev/null,中,這種是把正確信息和錯誤提示信息統統寫給Linux的無敵洞,不給我們提示任何消息,此時就需要使用 $?來判斷命令狀態返回值是否為0這樣的方式,從而執行下一條命令。

相關新聞

歷經多年發展,已成為國內好評如潮的Linux云計算運維、SRE、Devops、網絡安全、云原生、Go、Python開發專業人才培訓機構!

    1. 主站蜘蛛池模板: 曲阳县| 普安县| 贵港市| 定结县| 巴彦淖尔市| 凤山市| 明水县| 赤峰市| 西乌珠穆沁旗| 大安市| 独山县| 新津县| 灵丘县| 玉树县| 闽侯县| 赫章县| 宜丰县| 鄢陵县| 昌邑市| 临沂市| 苍溪县| 东源县| 建阳市| 来凤县| 昆明市| 高密市| 新平| 水富县| 咸宁市| 娄烦县| 兰考县| 永仁县| 九寨沟县| 彰武县| 浪卡子县| 普陀区| 平武县| 济阳县| 天全县| 莱州市| 南昌县|