Shell 的 until 循环 也可以实现嵌套的效果,即 until 循环里面嵌套一个或多个 until 循环。这种写法就类似于 Shell 的 while 循环 的嵌套。
until condition1 do until condition2 do until condition3 do # statement done done done
这里,我们定义了三个 until 循环的嵌套,当然,我们可以嵌套任意多个的 until 循环,只要 condition1 为假,就一直执行 condition1 的代码块,只要 condition2 为假,就一直执行 condition2 的代码块。
只要 condition3 为假,就一直执行 condition3 的代码块。
使用循环嵌套,打印计数器
#!/bin/bash
i=0
until ((i >= 3))
do
echo "i =" $i
j=0
until ((j>=2))
do
echo " j =" $j
((j++))
done
((i++))
done
程序运行后,控制台输出如下:
首先,我们定义了一个最外层的 until 循环,计数器 变量 i 从 0 开始,结束条件是 i < 3,每次执行一次循环将 i 的值加 1,并打印当前 i 的值。
在最外层循环的里面,同时又定义了一个内部循环,计数器变量 j 从 0 开始,结束条件是 i < 2,每次执行一次循环将 j 的值加 1,并打印当前 j 的值。
Shell 的 until 循环也可以实现嵌套的效果,即 until 循环里面嵌套一个或多个 until 循环。这种写法就类似于 Shell 的 while 循环的嵌套。