每條命令使用";"隔開,則無論前邊的命令執(zhí)行成功與否都會繼續(xù)執(zhí)行下一條命令
這里,故意將第二條命令中的echo多寫了一個o,命令執(zhí)行出錯,但并不影響后續(xù)命令的執(zhí)行
可以這么想,如果用分號來間隔命令,就相當(dāng)于將命令分隔在了不同的行,無論前一行的命令成功或失敗,都不影響下一行命令的執(zhí)行。
$ echo 1; echoo 2; echo 3; echo 4
1
-bash: echoo: command not found
3
4
若命令間使用"&&"隔開,則只有前邊的命令執(zhí)行成功了再會繼續(xù)執(zhí)行后邊的命令
這里,故意將第二條命令中的echo多寫了一個o,命令執(zhí)行出錯,echo 3便沒有執(zhí)行,因此echo4也沒執(zhí)行
$ echo 1 && echoo 2 && echo 3 && echo 4
1
-bash: echoo: command not found
若命令間使用"||"隔開,則只有前邊的命令執(zhí)行失敗了再回繼續(xù)執(zhí)行后邊的命令
這里echo 1執(zhí)行成功則沒有繼續(xù)執(zhí)行后邊的echo 2,繼而沒有執(zhí)行echo 3,echo 4
echo 1 || echo 2 || echo 3 || echo 4
1
這里echoo 1執(zhí)行失敗,因此開始執(zhí)行echo 2,執(zhí)行成功,因而后邊的echo 3, echo4都沒執(zhí)行
echoo 1 || echo 2 || echo 3 || echo 4
-bash: echoo: command not found
2
根據(jù)以上規(guī)則分析幾個比較特殊的例子,也即混合了集中分隔符的例子
echo 1執(zhí)行成功了,緊接著后邊有兩個"||"因此echo 2, echo 3都沒執(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)于把后邊的命令放到了新行,這樣的話無論如何后邊的命令都會執(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í)行成功,緊接著后邊有兩個"||"因此echo 3,echo 4沒有執(zhí)行,后邊遇到了&&,而之前的命令組合被認(rèn)為是執(zhí)行成功的,因此echoo5得以執(zhí)行,執(zhí)行發(fā)生錯誤,因此echo 6沒有被執(zhí)行,但后邊是";",所以無論如何echo 7都會被執(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í)行多條命令的方法(推薦)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點(diǎn)
疑難解答