嵌套循环 是指在一个循环内部包含另一个循环,即外部循环体内部有一个内部循环。 它的工作原理是:外部循环的第一次迭代触发内部循环,内部循环执行至完成。 然后,外部循环的第二次迭代再次触发内部循环。 这样重复直到外部循环结束。 当然,在内部或外部循环中使用 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 循环。