Linux 命令执行顺序控制
【概述】
通常情況下,我們每次只能在終端輸入一條命令,按下回車執行,執行完成后,我們再輸入第二條命令,然后再按回車執行……
當有我們會一次輸入多條命令,或者有選擇性的執行命令時,我們可以用特定的語法結構來實現命令的執行順序的控制問題。
【順序執行多條命令】
簡單的順序執行,可以使用 ; 來完成。
實例:
當我們需要使用 apt-get 安裝一個軟件,然后安裝完成后立即運行安裝的軟件,而恰巧主機剛更換的軟件源還沒有更新軟件列表,那么會有如下一系列操作:
$ sudo apt-get update # 等待——————————然后輸入下面的命令 $ sudo apt-get install some-tool //這里some-tool是指具體的軟件包,例如:banner # 等待——————————然后輸入下面的命令 $ some-tool如果想一次性輸完,然后讓他依次執行各命令,可以使用 ; 在多條命令之間分隔。
$ sudo apt-get update;sudo apt-get install some-tool;some-tool【有選擇的執行命令】
如果我們在讓自動順序執行命令時,前面的命令執行不成功,而后面的命令又依賴于上一條命令的結果,那么就會造成花了時間,最終卻得到一個錯誤的結果,而且有時候還無法判斷結果是否正確。
因此我們需要能夠有選擇性的來執行命令,例如:上一條命令執行成功才繼續下一條、上一條命令不成功時又該做出什么處理等。
同 C 語言中的邏輯與 && 和邏輯或 || 相同,在 Linux 里的 Shell 中,也同樣存在邏輯與 && 和邏輯或 || ,但與 C 語言不同的是,Shell 中的這兩個符號,除了也可用于表達邏輯與和邏輯或之外,還可以實現命令執行順序的簡單控制。
在實現命令執行順序的簡單控制時,&& 與 || 是根據其前面的命令執行結果來進行判斷的。
&& 表示如果前面的命令執行結果為 0 時,則執行后面的命令,否則不執行
|| 有著與 && 相反的控制效果,其表示當前面的命令執行結果為 1 時,則執行它后面的命令,否則不執行
如果想知道上一次命令的返回結果,可以使用 echo $? 獲取結果。
如果執行成功,結果為 0?
如果執行不成功,結果為 1
總結
以上是生活随笔為你收集整理的Linux 命令执行顺序控制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 训练日志 2018.12.2
- 下一篇: 热浪(信息学奥赛一本通-T1379)