引自:這裡
每條命令使用";"隔開,則無論前邊的命令執行成功與否都會繼續執行下一條命令
這裡,故意將第二條命令中的echo多寫了乙個o,命令執行出錯,但並不影響後續命令的執行
可以這麼想,如果用分號來間隔命令,就相當於將命令分隔在了不同的行,無論前一行的命令成功或失敗,都不影響下一行命令的執行。
$ echo 1;echoo 2; echo 3; echo 4
1-bash: echoo: command not found34
若命令間使用"&&"隔開,則只有前邊的命令執行成功了再會繼續執行後邊的命令
這裡,故意將第二條命令中的echo多寫了乙個o,命令執行出錯,echo 3便沒有執行,因此echo4也沒執行
$ echo 1 &&echoo 2&& echo 3 && echo 4
1-bash: echoo: command not found
若命令間使用"||"隔開,則只有前邊的命令執行失敗了再回繼續執行後邊的命令
這裡echo 1執行成功則沒有繼續執行後邊的echo 2,繼而沒有執行echo 3,echo 4
echo 1 || echo 2 || echo 3 || echo 4
1這裡echoo 1執行失敗,因此開始執行echo 2,執行成功,因而後邊的echo 3, echo4都沒執行
echoo 1|| echo 2 || echo 3 || echo 4
-bash: echoo: command not found
2根據以上規則分析幾個比較特殊的例子,也即混合了集中分隔符的例子
echo 1執行成功了,緊接著後邊有兩個"||"因此echo 2, echo 3都沒執行,後邊遇到了&&,而這之前的命令組合被認為是執行成功的,因此echo 4得以執行
$ echo 1 || echo 2 || echo 3 && echo 4 14
echo 1執行成功了,繼而執行echoo 2,執行失敗,因此 echo 3不被執行,後邊遇到了"||",而知之前的命令組合被認為是執行失敗的,因此echo 4得以執行
$ echo 1 &&echoo 2&& echo 3 || echo 4
1-bash: echoo: command not found
4echo 1執行成功了,繼而執行echoo 2,執行失敗,因此 echo 3不被執行,後邊遇到了";",相當於把後邊的命令放到了新行,這樣的話無論如何後邊的命令都會執行,因此echo 4得以執行
$ echo 1 &&echoo 2&& echo 3 ; echo 4
1-bash: echoo: command not found
4echoo 1執行失敗,後邊為"||"因此echo 2得以執行,echo 2執行成功,緊接著後邊有兩個"||"因此echo 3,echo 4沒有執行,後邊遇到了&&,而之前的命令組合被認為是執行成功的,因此echoo5得以執行,執行發生錯誤,因此echo 6沒有被執行,但後邊是";",所以無論如何echo 7都會被執行
$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連續執行多條命令
引自 這裡 每條命令使用 隔開,則無論前邊的命令執行成功與否都會繼續執行下一條命令 這裡,故意將第二條命令中的echo多寫了乙個o,命令執行出錯,但並不影響後續命令的執行 可以這麼想,如果用分號來間隔命令,就相當於將命令分隔在了不同的行,無論前一行的命令成功或失敗,都不影響下一行命令的執行。echo...
Linux連續執行多條命令
每條命令使用 隔開,則無論前邊的命令執行成功與否都會繼續執行下一條命令 這裡,故意將第二條命令中的echo多寫了乙個o,命令執行出錯,但並不影響後續命令的執行 可以這麼想,如果用分號來間隔命令,就相當於將命令分隔在了不同的行,無論前一行的命令成功或失敗,都不影響下一行命令的執行。echo 1 ech...
Linux連續執行多條命令
這裡,故意將第二條命令中的echo多寫了乙個o,命令執行出錯,但並不影響後續命令的執行 可以這麼想,如果用分號來間隔命令,就相當於將命令分隔在了不同的行,無論前一行的命令成功或失敗,都不影響下一行命令的執行。echo 1 echoo 2 echo 3 echo 4 1 bash echoo comm...