2
任何人都知道一種簡單的方法來立即退出bash中的while/until循環的當前迭代,但繼續循環中的下一次迭代?bash while break out of cycle not loop?
我的基本結構是:
sort -u -r -g -k 5 -t ' ' $filteredtoptrigsf |\
while read -a linA; do
stuff
morestuff
[[ $smthStinks -eq 1 ]] && break
[[ ${linA[*]} == $onlyThisLineStinks ]] && done
lotsaSlowProcessing
doSmthDangerous
done
在第[...]]測試我肯定要跳出while循環,永不回來,由於一些計算條件。
在第二個[[]]測試中,遇到一個條件,應該只跳出一次循環,避免下面的代碼,但繼續讀取下一行輸入並繼續。
正如你所看到的,我嘗試了done
那裏,但只有令牌意外的錯誤。
我寧願不把大部分循環的代碼包含在if和else中,因爲實際上只有很少的終止條件,只有全局和當前循環。
ahh謝謝。我知道我在man page中忽略了一些簡單的東西 – Marcos