Shell脚本break和continue语句应用

记录: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} ]];then
      echo "循环$((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 :
do
  if [[ "${cityArray[index]}" = ${city} ]];then
      echo "在数组中,第$((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/bash

echo "请按照编号选择你喜欢的城市名称."
select item in "上海" "苏州" "杭州" "南京"
do 
   if [[ ${item} = "" ]];then
     echo "请选择正确编号."
   else
     echo "你选择城市: ${item}."
     break
   fi
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++))
    continue
  fi
   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=0
echo "请输入不需要找的城市名称:"
read city
while true
do
  if [[ "${cityArray[index]}" = ${city} ]];then
      ((index++))
      continue
  fi
  echo "在数组中,第$((index+1))个城市名称是: ${cityArray[index]}"
  ((index++))
  if [[ ${index} -ge ${lenth} ]];then
     break
  fi
done

6.2执行与输出

执行命令:bash b2023052835.sh

执行结果:

[root@hadoop211 tutorial]# bash b2023052835.sh 
请输入不需要找的城市名称:
苏州
在数组中,第1个城市名称是: 上海
在数组中,第3个城市名称是: 杭州
在数组中,第4个城市名称是: 宁波

以上,感谢。

2023年5月28日

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值