嵌套循环 是指在一个循环内部包含另一个循环,即外部循环体内部有一个内部循环。 它的工作原理是:外部循环的第一次迭代触发内部循环,内部循环执行至完成。 然后,外部循环的第二次迭代再次触发内部循环。 这样重复直到外部循环结束。 当然,在内部或外部循环中使用 break 会中断此过程。
范例 11-20. 嵌套循环
#!/bin/bash # nested-loop.sh: Nested "for" loops. outer=1 # Set outer loop counter. # Beginning of outer loop. for a in 1 2 3 4 5 do echo "Pass $outer in outer loop." echo "---------------------" inner=1 # Reset inner loop counter. # =============================================== # Beginning of inner loop. for b in 1 2 3 4 5 do echo "Pass $inner in inner loop." let "inner+=1" # Increment inner loop counter. done # End of inner loop. # =============================================== let "outer+=1" # Increment outer loop counter. echo # Space between output blocks in pass of outer loop. done # End of outer loop. exit 0 |
请参见 范例 27-11,其中展示了嵌套的 while 循环,以及 范例 27-13,其中展示了一个 until 循环 内嵌套了一个 while 循环。