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