Posted on 2009-11-29 11:48
Gavin.lee 閱讀(300)
評論(0) 編輯 收藏 所屬分類:
Linux 日常應用
在執行某個命令的時候,有時需要依賴于前一個命令是否執行成功。例如,假設你希望將一個目錄中的文件全部拷貝到另外一個目錄中后,然后刪除源目錄中的全部文件。在刪除之前,你希望能夠確信拷貝成功,否則就有可能丟失所有的文件。
如果希望在成功地執行一個命令之后再執行另一個命令,或者在一個命令失敗后再執行另一個命令,&&和||可以完成這樣的功能。相應的命令可以是系統命令或shell腳本。shell還提供了在當前shell或子shell中執行一組命令的方法,即使用()和{ }。
1.使用&&
使用& &的一般形式為:
命令1 && 命令2
這種命令執行方式相當地直接。&&左邊的命令(命令1)返回真(即返回0,成功被執行)后,&&右邊的命令(命令2)才能夠被執行;換句話說, “如果這個命令執行成功 & &那么執
行這個命令”。
這里有一個使用& &的簡單例子:
$ cp file1 file2 && echo "Success!"
Success!
2.使用||
使用||的一般形式為:
命令1 || 命令2| |的作用有一些不同。如果 ||左邊的命令(命令1)未執行成功,那么就執行 ||右邊的命令(命令2);或者換句話說,“如果這個命令執行失敗了||那么就執行這個命令”。
這里有一個使用||的簡單例子:
$ cp file1 file2 || echo "Failed!"
cp: file1 : No such file or directory
Failed!