记录:436
场景:Shell脚本break和continue语句应用。在for、while循环中使用break和continue语句。
版本:CentOS Linux release 7.9.2009。
1.break和continue语句
break语句用来结束循环语句,会跳出循环,不再执行循环语句。比如for循环、while循环等。
continue语句用来结束本次循环,直接跳到下一次循环,如果循环条件成立,还会继续循环语句。
2.使用break语句与for循环语句
2.1脚本
脚本名称:b2023052831.sh
脚本内容:
#!/bin/bash#1.定义数组cityArray=("上海" "苏州" "南京" "杭州")#2.获取数组长度lenth=${#cityArray[*]}#3.使用for循环遍历数组echo "请输入需要找的城市名称:"read cityindex=0for ((i=0; i<lenth; i++))do if [[ "${cityArray[index]}" = ${city} ]];thenecho "循环$((index+1))次,在列表中找到城市: ${cityArray[index]}"echo "结束循环."break;fi((index++))done
2.2执行与输出
执行命令:bash b2023052831.sh
执行结果:
[root@hadoop211 tutorial]# bash b2023052831.sh 请输入需要找的城市名称:南京循环3次,在列表中找到城市: 南京结束循环.
3.使用break语句与while循环语句
3.1脚本
脚本名称:b2023052832.sh
脚本内容:
#!/bin/bash#1.定义数组cityArray=("上海" "苏州" "杭州" "宁波")#2.获取数组长度lenth=${#cityArray[@]}#3.使用while循环遍历数组(使用字符串判断,=号两端需要空格)index=0echo "请输入需要找的城市名称:"read citywhile :doif [[ "${cityArray[index]}" = ${city} ]];thenecho "在数组中,第$((index+1))个城市名称是: ${cityArray[index]}"echo "已经找到符合条件城市,结束循环."break;fi((index++))done
3.2执行与输出
执行命令:bash b2023052832.sh
执行结果:
[root@hadoop211 tutorial]# bash b2023052832.sh 请输入需要找的城市名称:宁波在数组中,第4个城市名称是: 宁波已经找到符合条件城市,结束循环.
4.使用break语句与select in循环循环语句
4.1脚本
脚本名称:b2023052833.sh
脚本内容:
#!/bin/bashecho "请按照编号选择你喜欢的城市名称."select item in "上海" "苏州" "杭州" "南京"doif [[ ${item} = "" ]];then echo "请选择正确编号." else echo "你选择城市: ${item}." break fidoneecho "你喜欢的城市是: ${item}."echo "系统为你推荐${item}相关内容."
4.2执行与输出
执行命令:bash b2023052833.sh
执行结果:
[root@hadoop211 tutorial]# bash b2023052833.sh 请按照编号选择你喜欢的城市名称.1) 上海2) 苏州3) 杭州4) 南京#? 3你选择城市: 杭州.你喜欢的城市是: 杭州.系统为你推荐杭州相关内容.
5.使用continue语句与for循环循环语句
5.1脚本
脚本名称:b2023052834.sh
脚本内容:
#!/bin/bash#1.定义数组cityArray=("上海" "苏州" "南京" "杭州")#2.获取数组长度lenth=${#cityArray[*]}#3.使用for循环遍历数组echo "请输入不需要打印的城市名称:"read cityindex=0for ((i=0; i<lenth; i++))do if [[ "${cityArray[index]}" = ${city} ]];then((index++))continuefi echo "第$((index+1))个城市名称: ${cityArray[index]}"((index++))done
5.2执行与输出
执行命令:bash b2023052834.sh
执行结果:
[root@hadoop211 tutorial]# bash b2023052834.sh 请输入不需要打印的城市名称:南京第1个城市名称: 上海第2个城市名称: 苏州第4个城市名称: 杭州
6.使用continue语句与while循环循环语句
6.1脚本
脚本名称:b2023052835.sh
脚本内容:
#!/bin/bash#1.定义数组cityArray=("上海" "苏州" "杭州" "宁波")#2.获取数组长度lenth=${#cityArray[@]}#3.使用while循环遍历数组(使用字符串判断,=号两端需要空格)index=0echo "请输入不需要找的城市名称:"read citywhile truedoif [[ "${cityArray[index]}" = ${city} ]];then((index++))continuefiecho "在数组中,第$((index+1))个城市名称是: ${cityArray[index]}"((index++))if [[ ${index} -ge ${lenth} ]];then breakfidone
6.2执行与输出
执行命令:bash b2023052835.sh
执行结果:
[root@hadoop211 tutorial]# bash b2023052835.sh 请输入不需要找的城市名称:苏州在数组中,第1个城市名称是: 上海在数组中,第3个城市名称是: 杭州在数组中,第4个城市名称是: 宁波
以上,感谢。
2023年5月28日