Bash
如何在 for 循環中替換 AND (&&)?
我想找到一個等價的
cmd 1 && cmd 2 && ... && cmd 20
但是在
for
循環中表達的命令for i in {1..20} do cmd $i done
您建議對第二個表達式進行什麼更改以找到第一個表達式的等價物?
與您的原始序列等效的是:
for i in {1..20} do cmd $i || break done
與 Amit 的回答不同的是腳本不會退出,即會執行可能遵循序列/循環的潛在命令。請注意,根據我的建議,整個循環的返回狀態將始終為真,如果與您的情況相關,這可能會被修復。
如果您想要一個骯髒的單行解決方案,您可以創建一個命令並將其發送到 bash。
echo "cmd "{1..20}" &&" : | bash