Linux連續執行多條命令

2022-10-09 03:09:09 字數 1667 閱讀 2728

這裡,故意將第二條命令中的echo多寫了乙個o,命令執行出錯,但並不影響後續命令的執行

可以這麼想,如果用分號來間隔命令,就相當於將命令分隔在了不同的行,無論前一行的命令成功或失敗,都不影響下一行命令的執行。

$ echo 1; echoo 2; echo 3; echo 4

1-bash: echoo: command not found

34

這裡,故意將第二條命令中的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

4

echo 1執行成功了,繼而執行echoo 2,執行失敗,因此 echo 3不被執行,後邊遇到了";",相當於把後邊的命令放到了新行,這樣的話無論如何後邊的命令都會執行,因此echo 4得以執行

$ echo 1 && echoo 2 && echo 3 ; echo 4

1-bash: echoo: command not found

4

echoo 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...