自从我编写了密集的 bash 脚本以来已经有一段时间了,我忘记了在 for 循环中执行多个条件的语法。
在 C 中,我会这样做:
for(var i=0,j=0; i<arrayOne.length && j<arrayTwo.length; i++,j++){
// Do stuff
}
我一直在谷歌搜索,只发现涉及嵌套 for 循环的语法,而不是一个 for 循环的多个条件。
听起来你在谈论for loop 的算术。
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