Shell编程之循环语句

目录

什么是循环

for循环语句的结构

常用转义字符

跳出循环

1.continue跳出循环

2.break跳出循环

While循环语句

​编辑

until循环语句


什么是循环

循环是一种控制流程的结构,用于重复执行一段代码。

而遍历是一种数据操作的过程,用于访问并处理数据结构中的每个元素。 

在某些情况下,循环和遍历可以结合使用,以便在循环中遍历数据结构并对其进行进行操作。

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

重复执行代码:通过使用循环,可以在程序中重复执行一段代码,从而避免代码的重复编写,减少程序代码量,提高程序的可读性和可维护性。

简化程序逻辑:使用循环可以使程序逻辑更加简化明了,提高程序的可读性和可理解性,降低代码的出错可能性。

提高代码的重复利用率:通过将重复的代码封装在循环结构中,可以提高代码的重复利用率,减少代码冗余。

提高程序的效率:循环可以让程序自动化地执行重复任务,从而减少人工干预的次数,提高程序的效率和性能。

for循环语句的结构

读取不同的变量值,用来逐个执行同一组命令

 一般格式

类C语言格式 

 

死循环

for语句的结构

读取不同的变量值,用来逐个执行同一组命令

 for语句应用示例

示例1

批量添加用户

用户名存放在users.txt文件中,每行一个

初始密码设为12345

验证脚本

 

示例2

根据IP地址检查主机状态

IP地址存放在ipadds.txt 文件中,每行一个

使用ping命令检测各主机的连通性

 

数字累加脚本(1~100)

需求:编写脚本实现计算从1加到100的值

 第一种方式

 第二种方式

常用转义字符

echo -n   表示不换行输出

echo -e   输出转义字符,将转义后的内容输出到屏幕上

只有加了-e才能执行下面的转义符:

常用的转义字符如下:

\b 转义后相当于按退格键(backspace),但前提是"\b"后面存在字符;"\b"表示删除前一个字

符,"\b\b"表示删除前两个字符。

\c 不换行输出,在"\c"后面不存在字符的情况下,作用相当于echo -n;但是当"\c"后面仍然存在字符

时,"\c"后面的字符将不会被输出。in换行,被输出的字符从"\n"处开始另起一行。

\f 换行,但是换行后的新行的开头位置连接着上一行的行尾;v与\f相同;

\t  转以后表示插入tab,即横向制表符;

\r 光标移至行首,但不换行,相当于使用"\r"以后的字符覆盖" \r"之前同等长度的字符:但是

当"\r"后面不存在任何字符时,"\r"前面的字符不会被覆盖

\\ 表示插入"\"本身;
 

 

跳出循环

1.continue跳出循环

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

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

 continue 2  结束两个循环,一个大循环和一个小循环

 

2.break跳出循环

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

break 2 也是结束大循环和结束小循环

———————————————————————————————————————————

While循环语句

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

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

基本格式

while   [ 判断条件]  

do       

执行动作   while循环执行动作

done         while循环结束标志  

————————————————————————————————————————

while true /while :  死循环

示例

需求:进入一家店购物,衣服500、裤子400、鞋子350、帽子150、袜子50,买完会计算结果,不买了会询问是否去下一家店

until循环语句

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

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

1.基本格式:

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值