在執行某個命令時,有時需要依賴於前乙個命令是否執行成功,如你需要將某個檔案先拷貝到另乙個目錄後,將其刪除。此時依賴於拷貝成功後,方可將原檔案刪除這就要求我們能控制命令的執行順序。 此次,我們主要講解如下內容:
◆ 命令執行順序控制:&& 、 ||
◆ 命令組合:() 、{}
一、命令執行順序控制
1、&&
◆ 一般形式: 命令1 && 命令2
◆ 說明:只有當命令1執行成功,才執行命令2;否則不執行命令2
◆ 下面我們看乙個例子:
cp -r ./dir ../ && rm -rf ./dir
該例子表示,將當前目錄下的dir目錄及其子目錄全部拷貝到上一級目錄,如果該命令被成功執行,dir目錄將會被刪除;否則不被刪除
2、||
◆ 一般形式: 命令1 || 命令2
◆ 說明: 只有當命令1執行失敗,才執行命令2;否則不執行命令2
◆ 下面我們看乙個例子:
awk -f: '' /etc/passwd > a.txt || cut -d: -f1 /etc/passwd
該例子表示通過awk檢視當前系統註冊的使用者,並寫入到a.txt檔案中;如果該命令執行失敗,則通過cut檢視系統註冊的使用者
備註:
可通過echo $? 檢視上乙個命令是否執行成功
命令執行成功,返回0
命令執行失敗,返回1
二、組合命令
如果希望將幾個命令結果在一起執行,shell提供了兩種方法,即可以在當前shell,也可以在子shell中執行一組命令,如下:
1、()
◆ 一般形式:(命令1;命令2;命令3...)
◆ 說明:表示括起來的一組命令,在當前shell中做為乙個整體執行
2、{}
◆ 一般形式:
◆ 說明:命令在相應的子shell中執行
例子: rm -rf aaa || (echo "error,file not found" ; mkdir aaa)
備註:
我們很少單獨使用(),{}通常與&&或||一起使用,可通過echo $$檢視當前的shell id號
◆ 重新開乙個shell:輸入bash即可
◆ 退出當前shell: 輸入exit即可
決定linux命令的執行順序
在執行某個 命令時,有時需要依賴前面的命令是否執行成功。假如你想通過ssh命令複製很多資料檔案到另外的機器後,刪除所有源有檔案,所以在刪除源有檔案之前首先要確定複製是不是執行成功。只要執行複製成功才可以刪除,否則後果.一 1.格式 command1 command2 2.含義 左邊的command1...
Linux 命令執行順序的控制
通常情況下,我們每次只能在終端輸入一條命令,按下回車執行,執行完成後,我們再輸入第二條命令,然後再按回車執行 當有時候我們會一次輸入多條命令,這個時候的執行過程又是如何的呢?下面我們將為大家詳細講解下命令的執行順序的控制問題。當我們需要使用 apt get 安裝乙個軟體,然後安裝完成後立即執行安裝的...
命令的執行順序
1.在執行某個命令的時候,有時依賴前乙個命令是否成功。例如假設你希望 將乙個目錄中的檔案全部拷貝到另外乙個目錄中後,然後刪除源目錄中的全部檔案。在刪除之前,你希望能夠確信拷貝成功,否則就有可能丟失所有的檔案。2.使用 命令 命令1 命令2 左邊的命令返回真 及返回0,成功被執行 右邊的命令才能被執行...