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
结果显示:
	一旦匹配内层,则直接终止外层的循环