1.4.2 break实践
学习目标
这一节,我们从 基础知识、简单实践、小结 三个方面来学习。
基础知识
简介
break命令是在处理过程中终止循环的一种简单方法。可以使用break命令退出任何类型的循环,包括for、while、until等。
break主要有两种场景的表现样式:
单循环场景下,break是终止循环
- 仅有一层 while 、for、until等
嵌套循环场景下,break是可以终止内层循环和外层循环。
- 存在多层while、for、until嵌套等
语法格式
break语法格式:
for 循环列表
do
...
break num
done
注意:
单循环下,break就代表退出循环
多循环下,break的num大于嵌套的层数,就代表退出循环
简单实践
实践1-break终止单层循环
查看脚本内容
[root@localhost ~]# cat break_single_while.sh
#!/bin/bash
# 功能:break退出单层循环
while true
do
read -p "输入你的数字,最好在 1 ~ 5: " aNum
case $aNum in
1|2|3|4|5)
echo "你的数字是 $aNum!"
;;
*)
echo "你选择的数字没在 1 ~ 5, 退出!"
break
;;
esac
done
[root@localhost ~]# /bin/bash break_single_while.sh
输入你的数字,最好在 1 ~ 5: 2
你的数字是 2!
输入你的数字,最好在 1 ~ 5: 5
你的数字是 5!
输入你的数字,最好在 1 ~ 5: 6
你选择的数字没在 1 ~ 5, 退出!
结果显示:
一旦出发break,当前循环就终止了
实践2-多层循环下break退出内层循环
[root@localhost ~]# cat break_multi_in_while.sh
#!/bin/bash
# 功能:break退出内层循环
# 外层循环遍历1-5
for var1 in {1..5}
do
# 内层循环遍历a-d
for var2 in {a..d}
do
# 判断退出条件,var1是2或者var2是c就退出内层循环
if [ $var1 -eq 2 -o "$var2" == "c" ]
then
break
else
echo "$var1 $var2"
fi
done
done
脚本执行效果
[root@localhost ~]# /bin/bash break_multi_in_while.sh
1 a
1 b
3 a
3 b
4 a
4 b
5 a
5 b
结果显示:
一旦出发break,则匹配内容及其后面的信息就不再输出了
实践3-多层循环下break退出外层循环
[root@localhost ~]# cat break_multi_out_while.sh
#!/bin/bash
# 功能:break退出外层循环
# 外层循环遍历1-5
for var1 in {1..5}
do
# 内层循环遍历a-d
for var2 in {a..d}
do
# 判断退出条件,var1是2或者var2是c就退出内层循环
if [ $var1 -eq 2 -o "$var2" == "c" ]
then
break 2
else
echo "$var1 $var2"
fi
done
done
脚本执行效果
[root@localhost ~]# /bin/bash break_multi_out_while.sh
1 a
1 b
结果显示:
一旦匹配内层,则直接终止外层的循环