记录: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 city
index=0
for ((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=0
echo "请输入需要找的城市名称:"
read city
while :
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 "上海" "苏州" "杭州" "南京"
do if [[ ${item} = "" ]];thenecho "请选择正确编号."elseecho "你选择城市: ${item}."breakfi
done
echo "你喜欢的城市是: ${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 city
index=0
for ((i=0; i<lenth; i++))
do if [[ "${cityArray[index]}" = ${city} ]];then((index++))continuefiecho "第$((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=0
echo "请输入不需要找的城市名称:"
read city
while true
doif [[ "${cityArray[index]}" = ${city} ]];then((index++))continuefiecho "在数组中,第$((index+1))个城市名称是: ${cityArray[index]}"((index++))if [[ ${index} -ge ${lenth} ]];thenbreakfi
done
6.2执行与输出
执行命令:bash b2023052835.sh
执行结果:
[root@hadoop211 tutorial]# bash b2023052835.sh
请输入不需要找的城市名称:
苏州
在数组中,第1个城市名称是: 上海
在数组中,第3个城市名称是: 杭州
在数组中,第4个城市名称是: 宁波
以上,感谢。
2023年5月28日