Linux 連續執行多條命令的方法

2021-06-29 10:42:04 字數 1527 閱讀 2733

多個命令可以放在一行上,其執**況得依賴於用在命令之間的分隔符。

如果每個命令被乙個分號 (;) 所分隔,那麼命令會連續的執行下去,如

引用

beyes@linux-beyes:/proc> printf "%s/n" "this is executed" ; printf "%s/n" "and so is this"

this is executed

and so is this

如果每個命令被 && 號分隔,那麼這些命令會一直執行下去,如果中間有錯誤的命令存在,則不再執行後面的命令,沒錯則執行到完為止

引用

beyes@linux-beyes:/proc> date && printf "%s/n" "the date command was successful"

2023年 08月 28日 星期五 18:28:16 cst

the date command was successful

所有命令成功執行完畢。

引用

beyes@linux-beyes:/proc> date && llk && printf "%s/n" "the date command was successful"

2023年 08月 28日 星期五 18:28:52 cst

bash: llk: command not found

後面的成功執行提示語句不會被輸出,因為 llk 命令無法識別。

如果每個命令被雙豎線(||)分隔符分隔,如果命令遇到可以成功執行的命令,那麼命令停止執行,即使後面還有正確的命令則後面的所有命令都將得不到執行。假如命令一開始就執行失敗,那麼就會執行 || 後的下乙個命令,直到遇到有可以成功執行的命令為止,假如所有的都失敗,則所有這些失敗的命令都會被嘗試執行一次

引用

beyes@linux-beyes:/proc> date || ls / || date 'duck!' || uname -a

2023年 08月 28日 星期五 18:33:18 cst

第乙個命令成功執行!後面的所有命令不再得到執行。

引用

beyes@linux-beyes:/proc> date 'duck!' || dakkk || uname -a

date: 無效的日期 「duck!」

bash: dakkk: command not found

linux linux-beyes 2.6.27.29-0.1-pae #1 smp 2009-08-15 17:53:59 +0200 i686 i686 i386 gnu/linux

前面的兩個命令都失敗了,直到找到最後乙個可以成功執行的命令為止。

Linux連續執行多條命令

引自 這裡 每條命令使用 隔開,則無論前邊的命令執行成功與否都會繼續執行下一條命令 這裡,故意將第二條命令中的echo多寫了乙個o,命令執行出錯,但並不影響後續命令的執行 可以這麼想,如果用分號來間隔命令,就相當於將命令分隔在了不同的行,無論前一行的命令成功或失敗,都不影響下一行命令的執行。echo...

Linux連續執行多條命令

每條命令使用 隔開,則無論前邊的命令執行成功與否都會繼續執行下一條命令 這裡,故意將第二條命令中的echo多寫了乙個o,命令執行出錯,但並不影響後續命令的執行 可以這麼想,如果用分號來間隔命令,就相當於將命令分隔在了不同的行,無論前一行的命令成功或失敗,都不影響下一行命令的執行。echo 1 ech...

Linux連續執行多條命令

引自 這裡 每條命令使用 隔開,則無論前邊的命令執行成功與否都會繼續執行下一條命令 這裡,故意將第二條命令中的echo多寫了乙個o,命令執行出錯,但並不影響後續命令的執行 可以這麼想,如果用分號來間隔命令,就相當於將命令分隔在了不同的行,無論前一行的命令成功或失敗,都不影響下一行命令的執行。echo...