[英]for loop with multiple conditions in Bash scripting
我已經有一段時間了,因為我已經完成了強烈的bash腳本編寫,我忘記了在for循環中執行多個條件的語法。
在C中,我會這樣做:
for(var i=0,j=0; i<arrayOne.length && j<arrayTwo.length; i++,j++){
// Do stuff
}
我已經谷歌搜索了一段時間,只發現涉及嵌套for循環的語法,而不是一個for循環的多個條件。
聽起來你在談論循環算法 。
for ((i = j = 0; i < ${#arrayOne[@]} && j < ${#arrayTwo[@]}; i++, j++)); do
# Do stuff
done
假設i
和j
未設置或為零,大致相當於:
while ((i++ < ${#arrayOne[@]} && j++ < ${#arrayTwo[@]})); do ...
只要你不關心循環后i
/ j
的值,就可以稍微提高一點。
如果將它與C進行比較,則沒有太大區別
for (( c=1,d=1; c<=5 && d<=6; c++,d+=2 ))
do
echo "$c : $d"
done
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.