记录: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日

Shell脚本break和continue语句应用相关推荐

  1. Linux结束sh脚本命令,Shell脚本break和continue命令简明教程

    在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,Shell使用两个命令来实现该功能:break和continue. break命令 break命令允许跳出所有循环(终止执行后面的所有循环) ...

  2. 【转】详谈for循环里面的break和continue语句

    https://www.jb51.net/article/119099.htm 转载  更新时间:2017年07月20日 07:53:06   投稿:jingxian   我要评论 下面小编就为大家带 ...

  3. 如何获取shell脚本中某条语句的执行时间

    有没有办法获取shell脚本中某条语句的执行时间 如果要获得语句执行所花的时间 用time命令 在语句的前面加上time命令 输出结果一共3列 比如我执行time sleep 5 real    0m ...

  4. Matlb中break 和continue 语句

    有两个附加语句可以控制while 和for 循环:break 和continue 语句. break 语句可以中止循环的执行和跳到end 后面的第一句执行,而continue 只中止本次循环,然后返回 ...

  5. 微课|中学生可以这样学Python(4.2节):break与continue语句

    适用教材: 董付国,应根球.<中学生可以这样学Python>.清华大学出版社,2017. 第4章  循环结构 4.2  break与continue语句 京东购买链接:https://it ...

  6. JavaScript Break 和 Continue 语句

    JS JavaScript Break 和 Continue 语句 break 语句用于跳出循环. continue 用于跳过循环中的一个迭代. Break 语句 for (i=0;i<10;i ...

  7. break和continue语句、循环嵌套

    1.break和continue语句 break语句除了可以用在switch语句中,还可以用在循环体中.在循环体中遇见break语句,立即结束循环,跳到循环体外,执行循环结构后面的语句.一般形式为: ...

  8. break和continue语句的使用

    break和continue语句的使用 break 语句的作用:用于跳出选择结构(switch_case)或循环结构 continue 语句的作用:在循环语句中,跳过本次循环中余下尚未执行的语句,继续 ...

  9. break和continue语句

    break和continue语句用于在循环中精确地控制代码的执行.其中,break语句会立即退出循环,强制继续执行循环后面的语句.而continue语句虽然也是立即退出循环,但退出循环后会从循环的顶部 ...

最新文章

  1. /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found的解决办法
  2. TensorFlow快餐教程:程序员快速入门深度学习五步法
  3. Apache Spark 2.2.0 中文文档 - GraphX Programming Guide | ApacheCN
  4. 《数字图像处理与机器视觉——Visual C++与Matlab实现(第2版)》——1.2 数字图像处理与机器视觉...
  5. 前端 学习笔记day48 CSS介绍
  6. WEB文件上传之apache common upload使用(一)
  7. C++ primer第六章6.7函数指针
  8. js实际工作中的技能点
  9. python中小数_比较python中的小数
  10. 吴恩达深度学习 —— 2.8 计算图的导数计算
  11. houdini 破解失败
  12. 百度编辑器 教程 ueditor
  13. Android——GSON解析JSON
  14. 程序员眼中的中国传统文化-王阳明《传习录》16
  15. eclipse 运行hadoop wordcount
  16. 音频声学相关的常用缩略语
  17. github上很好的iOS资源集锦
  18. unity模型导入android背景透明,Unity导入模型一面有贴图另一面透明的解决方案
  19. java课程设计纸牌游戏_java练习项目之纸牌游戏实例源码
  20. dnf剑魂buff等级上限_DNF:半年前没人看得上,如今被开发成T0,这神话终于翻身了...

热门文章

  1. 配置 | 使用ODBC连接数据库
  2. 【CISSP备考】2021年加油冲
  3. 7-13 日K蜡烛图(C语言)
  4. 复利C语言,C计算复利增长
  5. 校园社团管理系统(Java毕业设计)
  6. VS2005 调试时无法修改代码 解决办法
  7. 威盛电子- via ASIC 笔试题
  8. WebSocket 实现简单聊天功能
  9. 斯坦福NLP名课带学详解 | CS224n 第13讲 - 基于上下文的表征与NLP预训练模型(ELMo, transformer)(NLP通关指南·完结)
  10. Proxy是什么意思?谁能解释一下