一、break命令
可以使用break命令退出任意类型的循环,比如while和until循环。
1、跳出单个循环
bash
#!/bin/bash
#for循环
for var1 in 1 2 3 4 5 6 7 8
do
if [ $var1 -eq 6 ]
then
break
fi
echo "迭代数字是$var1"
done
#while循环
var1=0
while [ $var1 -lt 8 ]
do
if [ $var1 -eq 6 ]
then
break
fi
echo "迭代数字:$var1"
var1=$[ $var1 + 1 ]
done
2、跳出内层循环
bash
#!/bin/bash
for (( a = 1; a < 6; a++ ))
do
echo "外层循环:a=$a"
for (( b = 1; b < 50; b++ ))
do
if [ $b -eq 10 ]
then
break
fi
echo " 内层循环:b=$b"
done
done
3、跳出外层循环
break命令接受单个命令行参数:break n
n是要跳出的循环层级;默认为1,表示当前循环层级;若n=2,则为下一级的外层循环。
bash
#!/bin/bash
for (( a = 1; a < 6; a++ ))
do
echo "外层循环:a=$a"
for (( b = 1; b < 20; b++ ))
do
if [ $b -gt 6 ]
then
break 2
fi
echo " 内层循环:b=$b"
done
done
二、continue命令
continue命令可以提前中止某次循环,但不会结束整个循环。
bash
#!/bin/bash
for (( a = 1; a < 20; a++ ))
do
if [ $a -gt 5 ] && [ $a -lt 11 ]
then
echo "会打印出来!"
continue
echo "不会打印出来!!"
fi
echo "迭代数字是:$a"
done