【Linux】shell编程之循环语句

news2024/11/26 14:40:25

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 一、循环语句
  • 二、for循环语句
    • 1.for 语句的结构
    • 2.for语句应用示例
  • 三、while 循环语句
    • 1.while 循环语句结构
    • 2.while语句应用示例
  • 四、until 循环
  • 五、跳出循环
  • 六、死循环


一、循环语句

循环是一种控制流程的结构,用于重复执行一段代码。
而遍历是一种数据操作的过程,用于访问并处理数据结构中的每个元素。
在某些情况下,循环和遍历可以结合使用,以便在循环中遍历数据结构并对其进行操作。

循环 (Loop) 是计算机编程中非常重要的一种结构,其主要目的是为了简化代码编写。
提高代码的重复利用率,以及提高程序的效率。以下是使用循环的一些好处:

  • 重复执行代码:通过使用循环,可以在程序中重复执行一段代码,从而避免代码的重复编写.减少程序代码量,提高程序的可读性和可维护性。
  • 简化程序逻辑:使用循环可以使程序逻辑更加简洁明了,提高程序的可读性和可理解性,降低代码出错的可能性。
  • 提高代码的重复利用率;通过将重复的代码封装在循环结构中,可以提高代码的重复利用率,减少代码冗余。
  • 提高程序的效率:循环可以让程序自动化地执行重复任务,从而减少人工于预的次数,提高程序的效率和性能。

二、for循环语句

1.for 语句的结构

  • 读取不同的变量值,用来逐个执行同一组命令
for 变量名 in 取值列表
do
  命令序列
done

在这里插入图片描述

2.for语句应用示例

  • 要求
    1.用户名存放在yonghu.txt文件中,每行一个
    2.初始密码均设为123456
    3.验证脚本
    在这里插入图片描述

三、while 循环语句

1.while 循环语句结构

  • 重复测试某个条件,只要条件成立则反复执行
while  条件测试操作
do
命令序列
done

在这里插入图片描述

2.while语句应用示例

示例1:提示用户输入一个小于等于100的整数,并计算从1到该数之间所有整数的和
在这里插入图片描述
示例2:用户输入密码,脚本判断密码是否正确,正确密码为123456,输入正确提示正确信息,连续输错3次则报警
在这里插入图片描述

四、until 循环

  • until循环与for,while循环不同的是,until循环是只要条件不符合就会一直循环,直到条件符合后才会退出循环
until 条件测试操作  
do    
命令序列  
done

在这里插入图片描述

五、跳出循环

  • break

在循环内部,当执行到 break 命令时,会立即跳出当前的循环,停止循环执行,然后继续执行下一条指令。可以使用 break 命令来提前终止循环,例如当达到特定条件时或者已经执行了足够的次数。

  • continue

在循环内部,当执行到 continue 命令时,会跳过本次循环剩余的代码,并继续下一次循环。可以使用 continue 命令来跳过循环中的某些操作,例如在特定条件下跳过一次循环,或者只执行符合条件的循环。

  • exit

在循环内部,当执行到 continue 命令时,会退出整个脚本。可以使用 exit命令来提前终止整个脚本。

六、死循环

死循环也就是无限循环,是指程序陷入无法出来,而持续运行的一种情形,可能会导致Linux系统死机,导致计算机卡死等现象

for  ((;;))                  ##直接写判断条件为真(for循环)
while  [ 1  -eq  1 ]         ##判断条件为一个永久为真的条件
while  true                  ##直接写判断条件为真(while循环)
while  :                     ##判断条件为冒号也表示死循环

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/513533.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】信号的保存

信号的小细节真的很多~ 文章目录 前言一、信号的保存总结 前言 首先我们先引出一个新的概念,叫核心转储。linux系统提供了一种能力,操作系统可以将一个进程在异常的时候将核心代码部分进行核心转储,将内存中进程的相关数据全部dump到磁盘中&…

新版ripro全站美化子主题美化包使用说明手册

前言: 安装 Ripro 前,首先是需要先安装好 WordPress 主程序,因为 Ripro和美化包只是 WordPress 的一枚主题而已! 如何安装 WordPress 并不在本教程范围内,建议百度 如何安装好 WordPress ,但是还是想建议一下,尽量选择 Linux+php+nginx 的机器来安装 WordPress! 安装…

win部署CAS服务并使用

前提描述:通过本次了解cas是个什么东西,并使用它。 cas为oss(单点登录)的一种实现方案。要实现cas单点登录,首先需要部署cas的server服务。 CAS是Central Authentication Service的缩写,中央认证服务,。 一、安装CAS…

若依管理系统RuoYi-Vue:权限系统设计详解

文章目录 摘要数据库表结构设计菜单管理目录、菜单和按钮的区别菜单权限 api接口权限配置方法PreAuthorize注解介绍数据权限 前端vue权限拦截菜单权限按钮权限 摘要 若依(RuoYi)是一款基于Spring Boot和Vue.js开发的快速开发平台,它的权限管…

今天面了个阿里拿25k出来的小哥,让我见识到了什么是测试天花板

2022年堪称大学生就业最难的一年,应届毕业生人数是1076万。失业率超50%! 但是我观察到一个数据,那就是已经就业的毕业生中,计算机通信等行业最受毕业生欢迎! 计算机IT行业薪资高,平均薪资是文科其他岗位的…

优秀CRM系统的四个条件

如今,构建“以客户为中心”的经营模式,是许多企业提升竞争力的核心战略。CRM系统能够管理客户关系,提高销售线索转化率,帮助企业实现业绩增长。那么众多品牌中,CRM系统哪家公司做得更好? CRM做得好有哪几个…

Vue换肤主题

拷贝颜色选择组件 **ThemePicker <template><!-- navabar的换肤组件 --><el-color-pickerv-model="theme":predefine="[#409EFF,

智慧校园水电节能监管系统

现阶段各高校用电设备量多范围广&#xff0c;包含寝室、办公室、教室、会议厅、试验室、公共图书馆、运动场馆、饭堂、路面、园林绿化等地方&#xff0c;能耗极大。而且大多数节能意识薄弱&#xff0c;欠缺科学合理、科学合理的规章制度开展监管&#xff0c;造成电力能源很多消…

达索的全面的三维设计和产品开发工具CATIA V5-6R 2020版本下载与安装配置教程

目录 前言一、CATIA 安装二、CATIA更新包安装三、使用配置四、帮助文档安装&#xff08;非必要&#xff09;总结 前言 Dassault Systemes公司的CATIA软件是一种基于计算机辅助设计&#xff08;CAD&#xff09;和计算机辅助制造&#xff08;CAM&#xff09;的软件&#xff0c;用…

Vue(组件间通信:props、自定义事件、全局事件总线、消息订阅与发布)

一、props props不仅可以实现父给子传递信息&#xff0c;还可以进行子给父传递信息 1.父给子传递信息&#xff1a; 父组件中给子组件实例传递信息 子组件利用props进行接收组件传递信息&#xff08;接收方式有三种&#xff1a;数组、对象、配置对象&#xff09; 2.子给父传递…

【表面缺陷检测】基于yolov5的布匹表面缺陷检测(附代码和数据集)

写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 路虽远,行则将至;事虽难,做则必成。只要有愚公移山的志气、滴水穿石的毅力,脚踏实地,埋头苦干,积跬步以至千里,就…

Mybatis Plus 入门 简单的CRUD 使用详解 条件查询 分页查询 DML操作 MP代码生成器

Mybatis Plus入门 MP是 MybatisPlus&#xff0c;简称MP&#xff0c;是一个 Mybatis 的增强工具&#xff0c;在 Mybatis 的基础上只做增强不做改变。MP为简化开发、提高效率而生。 它已经封装好了单表curd方法&#xff0c;我们直接调用这些方法就能实现单表CURD。 注意&#xf…

一分钟图情论文:《AIGC驱动的智慧图书馆转型:框架、路径与挑战》

一分钟图情论文&#xff1a;《AIGC驱动的智慧图书馆转型&#xff1a;框架、路径与挑战》 AIGC&#xff08;Artificial Intelligence Generated Content&#xff09;是一种全新的生产方式&#xff0c;利用人工智能技术自动生成文本、图片、语音、视频甚至虚拟现实等各种形式的数…

5 创建映射

5 映射 上边章节安装了ik分词器&#xff0c;如果在索引和搜索时去使用ik分词器呢&#xff1f;如何指定其它类型的field&#xff0c;比如日期类型、数 值类型等。 本章节学习各种映射类型及映射维护方法。 5.1 映射维护方法 1、查询所有索引的映射&#xff1a; GET&#xf…

【MCAL_UART】-1.2-图文详解RS232,RS485和MODBUS的关系

目录 1 UART&#xff0c;RS232和RS485通信拓扑 2 什么是RS232 2.1 RS232标准的演变 2.2 RS232标准讲了哪些 2.2.1 RS232通信的电平 2.2.2 RS232通信的带宽 2.2.3 RS232通信距离 2.2.4 RS232通信的机械接口 3 什么是RS485 3.1 RS485标准的演变 3.2 RS485标准讲了哪些…

java运算符和表达式

文章目录 一、Java运算符和表达式二、Java算数运算符实例讲解三、Java关系运算符实例讲解四、Java逻辑运算符实例讲解五、Java位运算符实例讲解六、Java赋值运算符实例讲解七、Java条件运算符实例讲解八、Java instanceof运算符实例讲解九、Java运算符的优先级和结合性总结 一、…

steam/CSGO搬砖绝对是副业中的天花板

这个项目的主要逻辑就是——把Steam上CSGO的装备卖到国内上的平台&#xff0c;网易buff去交易赚一个汇率差。 这玩法有点像新疆出产的棉花占全国产量的85%&#xff0c;当地产量大&#xff0c;价格相对其他不产棉花的地区来说&#xff0c;自然就便宜了&#xff1b; 那么就会有商…

gazebo仿真

常用的仿真器 nvidia 场景非常真实&#xff0c;收费 物理仿真比较好&#xff0c;渲染差一点 为什么用仿真器&#xff0c;因为比较穷 gazebo与ros集成的比较好&#xff0c;有很多插件&#xff0c;机器人开发 刚体仿真器 ode 安装gazebo ros自带 机器人算法开发与验证 打开…

2023年湖北武汉安全员ABC报名条件和报名资料是什么?全国通用?

2023年湖北武汉安全员ABC报名条件和报名资料是什么&#xff1f;全国通用&#xff1f; 一、湖北安全员ABC报名条件要求&#xff1a; 1.安全员A证针对的是企业主要负责人&#xff0c;包括法定代表人、总经理&#xff08;总裁&#xff09;、分管安全生产的副总经理&#xff08;副…

java版本spring cloud 企业电子招投标采购系统源码之首页设计

​ ​功能模块&#xff1a; 待办消息&#xff0c;招标公告&#xff0c;中标公告&#xff0c;信息发布 全程数字化的采购管理 智能化平台化电子化内外协同 明理满足采购业务全程数字化&#xff0c; 实现供应商管理、采购需求、全网寻源、全网比价、电子招 投标、合同订单执行的…