Shell脚本攻略:循环语句while、until

news2024/11/28 13:33:32

目录

一、理论

1.while

2.until

3.break

4.continue

二、实验

1.实验一

2.实验二

3.实验三

4.实验四

5.实验五


一、理论

1.while

(1)while用法

while循环满足条件执行,不满足不执行。

用于不知道循环次数,需要主动结束循环或达到条件结束循环。

基本格式:

while   [ 判断条件 ] 

do      

执行动作  

done       

while true /while :  死循环

 (2)while死循环

① while  [1  -eq  1]   判断条件写一个永久为真的条件

    do       一直执行do内的命令

    done

② while  true        直接写判断条件为真

    do       一直执行do内的命令

    done

③ while :         判断条件为冒号也表示死循环

    do       一直执行do内的命令

    done

2.until

until循环通常用于当判断条件不成立时才进行循环,一旦判断条件成立,就终止循环,

 比如等待某个进程退出、等待某个文件被创建等等

基本格式:

until  [ 条件测试操作 ]
do
    
判断式/命令序列
done


until CONDITION
 
do
 
    statement
 
done 

说明:

    until进入循环的条件是:condition不成立时,就执行循环。

    until进入循环的条件正好和while相反,while进入循环的条件是:condition成立时,就进入循环。

3.break

break用于完全结束一个循环,结束循环体。不管是哪种循环,一旦在循环体中遇到break,系统将完全结束循环,开始执行循环之后的代码。
break不仅可以结束其所在的循环,还可结束其外层循环。

(1)break (默认1)停内不停外

(2)break 2   停内也停外

4.continue

表示满足continue条件时跳出循环,但是不影响后续循环执行

它的作用是在循环内部跳过本次循环并继续下一次循环 。

(1)continue   跳内不跳外

(2)continue   跳内也跳外

二、实验

1.实验一

购物 逛淘宝选购商品,

每家商店有五种商品选购(衣服500元,裤子400元,鞋子350元,帽子150元,袜子50元),

每次选购完或不买都会提示用户是否继续逛下一家商店,购买如果不再继续逛的话进行购物车结算总额。

(1)脚本截图

(2)运行结果

2.实验二

shell 计算器实现加减乘除和取余

(1)脚本截图

(2)运行结果

3.实验三

 打印出某个目录下的所有文件

方式1

(1)脚本截图

(2)运行结果

方式2

(1)脚本截图

(2)运行结果

4.实验四

利用 for 循环将多个文本文件内容合并为一个文件

(1)脚本截图

(2)运行结果

上下合成

左右合成

5.实验五

使用三种方式写出1-100求和

方式1

(1)脚本截图

(2)运行结果

方式2

(1)脚本截图

(2)运行结果

方式3

(1)脚本截图

(2)运行结果

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

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

相关文章

二开项目权限应用全流程-按钮级控制

二开项目权限应用全流程-按钮级控制 员工A和员工B都可以访问同一个页面(以员工管理为例),但是员工A可以导出excel,员工B就不可以导出excel(看不到按钮) 思路 用户登陆成功后,用户可以访问的按钮级别权限保存在point…

阿里巴巴淘天集团后端暑期实习面经

目录 1.面向对象三大特性2.重写和重载3.protected 关键字和 default 关键字的作用范围4.栈帧中有哪些东西?5.堆中有哪些区域?6.new 一个对象存放在哪里?7.CMS 收集器回收阶段8.CMS 收集器回收过程哪些需要暂停线程?9.HashMap JDK …

手机行业再多一条“鲶鱼”,小度青禾要打一场漂亮突围战?

文 | 智能相对论 作者 | 佘凯文 智能手机到底还是不是一门好生意? 在换机周期被无限拉长、市场竞争越发激烈、高端市场迟迟无法突破等共同背景下,智能手机到底还是不是一门好生意,成为行业内这两年被热议的话题之一。 由TechInsights发布…

腾讯云轻量应用服务器CPU主频多少?型号?

腾讯云轻量应用服务器CPU型号是什么?轻量服务器处理器主频?腾讯云服务器网账号下的CPU处理器型号为2.5GHz主频的Intel(R) Xeon(R) Gold 6133 CPU和2.4GHz主频Intel(R) Xeon(R) CPU E5-26xx v4,腾讯云轻量应用服务器不支持指定底层物理服务器的…

NodeJs内存快照分析

(头等人,有本事,没脾气;二等人,有本事,有脾气;末等人,没本事,大脾气。——南怀瑾) NodeJs内存分析的必要性 回顾过去,我们排查web应用问题的途径…

36岁大龄程序员全职接单三个月的感触

36岁大龄程序员,原以为逃过35岁危机,没想到在年前被优化,拿了N2,12w薪资后,我开始了全职接单的道路。现在每个月平均收入有个20K,一路走来挺有感触的,把自己的经验分享给大家。 赚钱&#xff0…

【Jmeter】生成html格式接口自动化测试报告

jmeter自带执行结果查看的插件,但是需要在jmeter工具中才能查看,如果要向领导提交测试结果,不够方便直观。 笔者刚做了这方面的尝试,总结出来分享给大家。 这里需要用到ant来执行测试用例并生成HTML格式测试报告。 一、ant下载安…

Android13蓝牙 停用绝对音量功能

Android13蓝牙 停用绝对音量功能 文章目录 Android13蓝牙 停用绝对音量功能一、前言二、代码实现分析过程1、查看SettingsLib源码资源2、查看原生Setitntgs 相关字符(1)xml 布局文件中的显示(2) java 代码文件中的控制串口上控制&…

Vue注册界面精美模板分享

文章目录 🐒个人主页🏅Vue项目常用组件模板仓库📖前言:🎀源码如下: 🐒个人主页 🏅Vue项目常用组件模板仓库 📖前言: 本篇博客主要提供vue组件之注册组件源码…

硬件软件【部署】

开发板和主机 1.功能不同:帮助开发者进行嵌入式系统的开发和调试,具有较强的硬件拓展能力,可以连接各种传感器/执行器等外设。主机为满足一般的计算需求而设计,具备更强的计算和图形处理能力。 2.架构不同:开发板通常…

解决CentOS7用户管理报错问题:密码设为Aa12345@时报错,为什么Bji230309@可以而Aa12345@不行?

场景: 早上博友(CSDN博客朋友)给我发私信,问了一个问题: CentOS7上面运行的项目,在用户管理添加新用户时,密码设置成Aa12345时,会报错:Cannot read property message of undefined。查看/etc/…

【Apache 配置与应用】

目录 一、构建虚拟 Web 主机httpd服务支持的虚拟主机类型包括以下三种 二、基于域名的虚拟主机1.为虚拟主机提供域名解析2.为虚拟主机准备网页文档3.添加虚拟主机配置4.设置访问控制5.加载独立的配置文件6.在客户机中访问虚拟 Web 主机 三、基于IP地址的虚拟主机四、…

QSettings Class

QSettings类 QSettings类公共类型&#xff08;枚举&#xff09;公有成员函数静态成员函数函数作用这个类写文件的特征 QSettings类 QSettings类提供持久的独立于平台的应用程序设置。 头文件:#include< QSettings >qmake:QT core继承&#xff08;父&#xff09;:QObje…

Springboot +spring security,认证方式---实现HTTP摘要认证

一.简介 这篇文章来学习下security的认证方式其中的HTTP摘要认证 二.Spring Security的认证方式 2.1什么是认证 认证: 就是用来判断系统中是否存在某用户&#xff0c;并判断该用户的身份是否合法的过程&#xff0c;解决的其实是用户登录的问题。认证的存在&#xff0c;是为…

JavaScript高级三、深入面向对象

零、文章目录 JavaScript高级三、深入面向对象 1、编程思想 &#xff08;1&#xff09;面向过程介绍 面向过程&#xff1a;分析出解决问题所需要的步骤&#xff0c;然后用函数把这些步骤一步一步实现&#xff0c;使用的时候再一个一个的依次调用就可以了。 &#xff08;2&…

Android 架构模式

1.三个基本架构 ①MVC&#xff08;Model-View-Controller&#xff09; Model&#xff1a;代表数据模型&#xff0c;管理数据状态。 View&#xff1a;视图&#xff0c;即呈现给用户的UI&#xff0c;包括布局文件及Activity。 Controller&#xff1a;控制者&#xff0c;负责处…

KubeVirt技术介绍及实验部署

虚拟化简介 在云计算发展中&#xff0c;有两类虚拟化平台&#xff1a; openstack&#xff08;iaas&#xff09;&#xff1a;关注于资源的利用&#xff0c;虚拟机的计算&#xff0c;网络和存储Kubernetes&#xff08;pass&#xff09;&#xff1a;关注容器的编排调度&#xff…

设计模式之~代码模式

描述&#xff1a; 代理模式&#xff08;Proxy&#xff09;&#xff0c;为其他对象提供一种代理以控制对这个对象的访问。 结构图&#xff1a; 优点: 代理模式能将代理对象与真实被调用的目标对象分离 一定程度上降低了系统的耦合度&#xff0c;扩展性好 可以起到保护目标对象…

发明专利公开 -- 一种基于 JSON 文件 + Http Header 的支持多项目、多分支、多人协同的 Api Mock/代理 工具

现阶段主流的前后端分离的开发模式下&#xff1a;前后端采用并行开发方式&#xff0c;在前端开发过程中通常需要依附于共同约定的接口格式及数据。 该过程是一个并行过程&#xff0c;因此 Api Mock 模拟接口的返回变成了必要。同时&#xff0c;联调过程中&#xff0c;修改后端…

目标检测笔记(九):详细介绍并实现-如何可视化深度学习中每层特征层的网络训练情况

文章目录 为什么要解析特征层如何可视化特征层可视化结果如何 ❤️ &#x1f9e1; &#x1f49b; &#x1f49a; &#x1f499; &#x1f49c; &#x1f5a4; &#x1f90d; &#x1f90e; &#x1f494; ❣️ &#x1f495; &#x1f49e; &#x1f493; &#x1f497; &#…