Shell脚本break和continue语句应用

news/2024/11/8 17:15:30/

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


http://www.ppmy.cn/news/99802.html

相关文章

【C++】——vector的介绍及模拟实现

文章目录 1. 前言2. vector的介绍3. vector的常用接口3.1 vector对象的常见构造函数3.2 iterator的使用3.3 vector的空间管理3.4 vector的增删查改 4. vector迭代器失效的问题4.1 底层空间改变的操作4.2 指定位置元素的删除操作 5. vector模拟实现6. 结尾 1. 前言 上一篇文章我…

springboot3.0集成nacos2.2.1(一)

本章节内容是没有开启nacos校验方式进行接入 集成环境&#xff1a; java版本&#xff1a;JDK17 springboot版本&#xff1a;3.0.2 创建spring项目&#xff0c;我这里用到的是spring-cloud全家桶 首先是jar包依赖&#xff1a; <properties><maven.compiler.so…

【Linux】软件包管理器/编辑器/yum是应用商店?/vim编辑器什么?

本文思维导图&#xff1a; 文章目录 Linux软件安装关于Linux的软件生态 1.Linux软件包管理器&#xff1a;yum到底是什么关于yum指令&#xff1a;关于yum源 2. rzsz指令1. Linux编辑器——vim编辑器vim编辑器的三种主要模式vim编辑器命令模式常用快捷键&#xff1a;vim操作总结…

maven依赖选择策略(依赖调解)

这里先抛出结论 最短路径原则: 不同级依赖, 选择路径最短&#xff08;对于传递性依赖和一级依赖&#xff09;声明优先原则 : 同级依赖,先声明的覆盖后声明的&#xff08;对于传递性依赖&#xff09;同级依赖后加载覆盖先加载原则&#xff08;不属于传递性依赖的情况&#xff0…

spring(事务管理)

事物可以看做是由对数据库若干操作组成的一个单元 事务的作用就是为了保证用户的每一个操作都是可靠的&#xff0c;事务中的每一步操作都 必须成功执行&#xff0c;只要有发生异常就回退到事务开始未进行操作的状态,这些操作 要么都完成&#xff0c;要么都取消&#xff0c;从而…

7-10 算术入门之加减乘除

对于输入的两个整数&#xff0c;按照要求输出其和差积商。 输入格式: 在一行内输入两个不超过100的非负整数a和b&#xff0c;中间以一个空格间隔&#xff0c;且保证b不为0。 输出格式: 共四行&#xff0c;格式是&#xff1a; [a] [b] [ab] [a] - [b] [a-b] [a] * [b] [a…

Day4 计算糖果、进制转换

✨个人主页&#xff1a; 北 海 &#x1f389;所属专栏&#xff1a; C/C相关题解 &#x1f383;操作环境&#xff1a; Visual Studio 2019 版本 16.11.17 文章目录 选择题1、C函数 编程题1、计算糖果2、进制转换 选择题 1、C函数 题目&#xff1a;下列程序执行后,输出的结果为…

Linux :: 【基础指令篇 :: 文件及目录操作:(4)】:: mkdir :: 创建目录:指定路径单个目录创建及一次性创建多级目录

前言&#xff1a;本篇是 Linux 基本操作篇章的内容&#xff01; 笔者使用的环境是基于腾讯云服务器&#xff1a;CentOS 7.6 64bit。 学习集&#xff1a; C 入门到入土&#xff01;&#xff01;&#xff01;学习合集Linux 从命令到网络再到内核&#xff01;学习合集 目录索引&am…