Linux 連續(xù)執(zhí)行多條命令的方法(推薦)
每條命令使用";"隔開(kāi),則無(wú)論前邊的命令執(zhí)行成功與否都會(huì)繼續(xù)執(zhí)行下一條命令
這里,故意將第二條命令中的echo多寫(xiě)了一個(gè)o,命令執(zhí)行出錯(cuò),但并不影響后續(xù)命令的執(zhí)行
可以這么想,如果用分號(hào)來(lái)間隔命令,就相當(dāng)于將命令分隔在了不同的行,無(wú)論前一行的命令成功或失敗,都不影響下一行命令的執(zhí)行。
$ echo 1; echoo 2; echo 3; echo 4
1
-bash: echoo: command not found
3
4
若命令間使用"&&"隔開(kāi),則只有前邊的命令執(zhí)行成功了再會(huì)繼續(xù)執(zhí)行后邊的命令
這里,故意將第二條命令中的echo多寫(xiě)了一個(gè)o,命令執(zhí)行出錯(cuò),echo 3便沒(méi)有執(zhí)行,因此echo4也沒(méi)執(zhí)行
$ echo 1 && echoo 2 && echo 3 && echo 4
1
-bash: echoo: command not found
若命令間使用"||"隔開(kāi),則只有前邊的命令執(zhí)行失敗了再回繼續(xù)執(zhí)行后邊的命令
這里echo 1執(zhí)行成功則沒(méi)有繼續(xù)執(zhí)行后邊的echo 2,繼而沒(méi)有執(zhí)行echo 3,echo 4
echo 1 || echo 2 || echo 3 || echo 4
1
這里echoo 1執(zhí)行失敗,因此開(kāi)始執(zhí)行echo 2,執(zhí)行成功,因而后邊的echo 3, echo4都沒(méi)執(zhí)行
echoo 1 || echo 2 || echo 3 || echo 4
-bash: echoo: command not found
2
根據(jù)以上規(guī)則分析幾個(gè)比較特殊的例子,也即混合了集中分隔符的例子
echo 1執(zhí)行成功了,緊接著后邊有兩個(gè)"||"因此echo 2, echo 3都沒(méi)執(zhí)行,后邊遇到了&&,而這之前的命令組合被認(rèn)為是執(zhí)行成功的,因此echo 4得以執(zhí)行
$ echo 1 || echo 2 || echo 3 && echo 4
1
4
echo 1執(zhí)行成功了,繼而執(zhí)行echoo 2,執(zhí)行失敗,因此 echo 3不被執(zhí)行,后邊遇到了"||",而知之前的命令組合被認(rèn)為是執(zhí)行失敗的,因此echo 4得以執(zhí)行
$ echo 1 && echoo 2 && echo 3 || echo 4
1
-bash: echoo: command not found
4
echo 1執(zhí)行成功了,繼而執(zhí)行echoo 2,執(zhí)行失敗,因此 echo 3不被執(zhí)行,后邊遇到了";",相當(dāng)于把后邊的命令放到了新行,這樣的話(huà)無(wú)論如何后邊的命令都會(huì)執(zhí)行,因此echo 4得以執(zhí)行
$ echo 1 && echoo 2 && echo 3 ; echo 4
1
-bash: echoo: command not found
4
echoo 1執(zhí)行失敗,后邊為"||"因此echo 2得以執(zhí)行,echo 2執(zhí)行成功,緊接著后邊有兩個(gè)"||"因此echo 3,echo 4沒(méi)有執(zhí)行,后邊遇到了&&,而之前的命令組合被認(rèn)為是執(zhí)行成功的,因此echoo5得以執(zhí)行,執(zhí)行發(fā)生錯(cuò)誤,因此echo 6沒(méi)有被執(zhí)行,但后邊是";",所以無(wú)論如何echo 7都會(huì)被執(zhí)行
$ echoo 1 || echo 2 || echo 3 || echo 4 && echoo 5 && echo 6 ; echo 7
-bash: echoo: command not found
2
-bash: echoo: command not found
7
以上這篇Linux 連續(xù)執(zhí)行多條命令的方法(推薦)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java應(yīng)用啟動(dòng)與停止的shell腳本分享
這篇文章主要和大家分享三個(gè)shell腳本,分別是jvm啟動(dòng)參數(shù)相關(guān)的setjvment.sh,利用java命令啟動(dòng)進(jìn)程的start.sh和停止java進(jìn)程的stop.sh,有需要的可以參考下2023-10-10使用Bash Shell獲取文件名和目錄名的簡(jiǎn)單方法
這篇文章主要介紹了使用Bash Shell獲取文件名和目錄名的簡(jiǎn)單方法,解析路徑是通常用Shell來(lái)實(shí)現(xiàn)的基本功能之一,需要的朋友可以參考下2015-07-07shell中的curl網(wǎng)絡(luò)請(qǐng)求的實(shí)現(xiàn)
本文主要介紹了shell中的curl網(wǎng)絡(luò)請(qǐng)求的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02Shell、Perl、Python、PHP訪(fǎng)問(wèn) MySQL 數(shù)據(jù)庫(kù)代碼實(shí)例
這篇文章主要介紹了Shell、Perl、Python、PHP訪(fǎng)問(wèn) MySQL 數(shù)據(jù)庫(kù)代碼實(shí)例,本文分別給出這幾種語(yǔ)言訪(fǎng)問(wèn)Mysql數(shù)據(jù)的代碼實(shí)例,需要的朋友可以參考下2015-04-04linux bash腳本監(jiān)控啟動(dòng)停止weblogic服務(wù)的腳本寫(xiě)法
這篇文章主要介紹了linux bash腳本監(jiān)控啟動(dòng)停止weblogic服務(wù)的腳本寫(xiě)法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02Shell腳本實(shí)現(xiàn)ftok函數(shù)
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)ftok函數(shù),ftok函數(shù)是操作系統(tǒng)底層中很有名的一個(gè)函數(shù),本文講在Shell中如何實(shí)現(xiàn)同樣算法的函數(shù),需要的朋友可以參考下2015-01-01