伊邪那岐!——Shell编程之循环语句

shell编程之循环语句与函数 判断while后的条件测试操作结果,如果条件成立,则执行do……done循环体中的命令序列,返回while后再次判断条件测试结果,如果条件仍然成立,则继续执行循环体,再次返回到while后,判断测试条件结果……作用:在执行循环语句时,可以根据特定条件反复执行命令序列,直到该条件不满足时,在脚本中避免死循环情况,可在循环体内的命令序列中修改测试条件的语句,当测试条件不再成立时,从而结束循环。注:在使用函数参数时,函数名称在前参数在后,函数名与参数之间用空格分隔,可以有多个参数,参数使用$1、 2、3…… 阅读详情


for循环语句

for循环是一个遍历的过程

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

for 变量名 in 取值列表
do
    命令序列
done

while循环语句

重复测试某个条件,只要条件成立就反复执行,直到条件不成立结束循环。

while 条件测试操作
do
    命令序列
done

示例

vim caishu.sh
#!/bin/bash

a=$[$RANDOM % 100]
b=0
while [ $b -lt 1 ]
  do
  read -p "猜猜数字是多少?"i
  if [ $i -lt $a ]
    then
      echo "猜小了,再来一次。"

  elif [ $i -gt $a ]
      then
        echo "猜大了,再来一次。"

  elif [ $i -eq $a ]
      then
        echo "太棒了,猜对了"
        b=2
  fi
done

运行脚本

[root@localhost ~]# sh caishu.sh
猜猜数字是多少?50
猜大了,再来一次。
猜猜数字是多少?25
猜大了,再来一次。
猜猜数字是多少?15
猜大了,再来一次。
猜猜数字是多少?10
猜大了,再来一次。
猜猜数字是多少?5
猜大了,再来一次。
猜猜数字是多少?3
猜大了,再来一次。
猜猜数字是多少?1
猜小了,再来一次。
猜猜数字是多少?2
太棒了,猜对了

until循环语句

重复测试某个条件,只要条件不成立就反复执行,直到条件成立结束循环。(与while循环语句相反)

until 条件测试操作
do
    命令序列
done

echo转义符

echo-n 表示不换行输出

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

常用的转义字符如下:
\b:转义后相当于按退格键(backspace) ,但前提是"\b"后面存在字符; "\b“表示删除前一个字符,”\b\b"表示删除前两个字符。

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

\n:换行,被输出的字符从"\n"处开始另起一行。

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

\v:与\f相同;

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

\r:光标移至行首,但不换行,相当于使用"\r“以后的字符覆盖”\r“之前同等长度的字符;但是当”\r"后面不存在任何字符时,"\r" 前面的字符不会被覆盖

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

break

break跳出单个循环

示例:

[root@localhost ~]# vim xunhuan.sh
#!/bin/bash
for ((a=1; a<=5; a++))
do
    echo "outer loop: $a"
    for ((b=1; b<=50; b++))
    do
        if [ $b -eq 5 ]
        then
            break
        fi
        echo "inter loop: $b"
    done
done

运行脚本:

[root@localhost ~]# sh xunhuan.sh
outer loop: 1
inter loop: 1
inter loop: 2
inter loop: 3
inter loop: 4
outer loop: 2
inter loop: 1
inter loop: 2
inter loop: 3
inter loop: 4
outer loop: 3
inter loop: 1
inter loop: 2
inter loop: 3
inter loop: 4
outer loop: 4
inter loop: 1
inter loop: 2
inter loop: 3
inter loop: 4
outer loop: 5
inter loop: 1
inter loop: 2
inter loop: 3
inter loop: 4

continue

continue中止某次循环中的命令,但不会完全中止整个命令
示例:

[root@localhost ~]# vim shulie.sh
#!/bin/bash
for ((a=1; a<=15; a++))
do
    if [ $a -ge 5 ] && [ $a -le 10 ]
    then
        continue
    fi
    echo "current value: $a"
done

运行脚本:

[root@localhost ~]# sh shulie.sh
current value: 1
current value: 2
current value: 3
current value: 4
current value: 11
current value: 12
current value: 13
current value: 14
current value: 15

Shell编程之循环语句与函数 Shell函数中for,while,until的循环语句以及Shell函数与数组。 阅读详情

相关推荐

sysrepo 开发者指南(一个基于libyang与支持rpc的数据库)

sysrepo 开发者指南(一个基于libyang与支持rpc的数据库) 日志记录 默认情况下,所有 Sysrepo 日志记录都处于关闭状态。如果启用,日志消息有 3 种输出。它们可以写入stderr、由 处理syslog或简单地传递给回调。 请务必注意,启用 Sysrepo 日志记录也会修改libyang日志记录设置。错误消息被视为标准 Sysrepo 错误,其他严重性较低的消息完全隐藏。要更改此行为,只需在启用 Sysrepo 日志记录后调整libyang日志记录设置。 此外,几乎每个 Sysrepo

weixin_43489394的博客 9231

Shell 编程之循环语句

因此,循环体内的命令序列中应包括修改测试条件的语句,以便在适当的时候使测试条件不再成立,从而结束循环。在一些技术培训和学习领域,出于实验或测试的目的,需要批量添加用户账号,这些用户的名称中包含固定的前缀字串,并按照数字顺序依次进行编号,账号的数量往往也是固定的。在一些科学计算领域,经常会用到各种数的计算,自然数的求和操作是最简单的。中央电视台著名的"时尚购物街"节目中,有一个猜价格的互动环节,要求参与者在最短的时间内猜出展示商品的实际价格,当所猜的价格高出或低于实际价格时,主持人会给出相应的提示。

ASDyushui的博客 2355

保姆级教程:用COMSOL LiveLink™ for MATLAB 玩转自定义PDE,从理论到仿真一条龙

本文详细介绍了如何利用COMSOL LiveLink™ for MATLAB实现自定义PDE的从理论到仿真的完整流程。通过PDE模块与MATLAB的无缝集成,用户可以灵活处理非标准偏微分方程,适用于材料建模、传热传质验证等多物理场耦合研究。教程涵盖环境配置、方程标准化、界面操作及高级应用技巧,为工程仿真研究者提供原子级控制方案。

weixin_34098209的博客 358

shell编程之循环语句

提升脚本的执行效率和可维护性。

2401_88768957的博客 1714

手把手教你配置SAP PP供应区域(Supply Area):实现线边仓精准发料与物料流优化

本文详细解析了SAP PP供应区域(Supply Area)的配置方法,帮助企业实现线边仓精准发料与物料流优化。通过三级优先级逻辑和四步配置法,系统可自动识别最优组件来源位置,显著提升生产订单处理效率和库存准确率。文章还提供了典型问题解决方案和性能优化技巧,适用于离散制造和重复制造场景。

weixin_29275257的博客 434

CMake接口库实战:如何用add_library的INTERFACE选项管理跨项目依赖

本文深入探讨了CMake中add_library的INTERFACE选项在管理跨项目依赖时的实战应用。通过创建不包含源代码的接口库,开发者可以集中管理头文件路径、编译定义、链接库等公共配置,并将其声明式地传递给依赖目标。文章以构建模块化跨平台网络应用为例,详细展示了如何利用接口库实现配置的集中化、依赖关系的显式化,从而提升大型项目的可维护性和可移植性。

water的专栏 1040

Shell编程之循环语句

本章详细介绍了 Shell编程中的循环语句与函数,为自动化脚本编写提供了强有力的工具。循环语句:包括 for 循环、while 循环和 until循环。for 循环适用于处理预定义的列表,如批量操作文件或用户账号;while 循环和 until循环则根据条件执行循环体,分别适用于条件为真和条件为假的场景。这些循环语句极大地提高了脚本处理重复任务的效率。总之,本章内容对于掌握 Shell编程的核心技能至关重要,是编写高效、可维护 Shell脚本的必备知识。

zlyyljlckx的博客 1588

PP生产订单的BADI增强 WORKORDER_UPDATE

我们的项目需求是: 1、 保存时检查工单BOM是否存在物料号相同的行项目,如果有则提示“物料& 重复,请检查工单BOM” 系统增强出口:PPCO0001,检查组件行项目是否有重复物料项 开始以为的增强增强看一下是用PPCO0001还是PPCO0007 后来找到了badi WORKORDER_UPDATE IF_EX_WORKORDER_UPDATE~BEFORE_UPDATE

ERP运维咨询(目标和成功) 4637

shell编程echo语句、运算方法、循环语句与函数

shell编程循环语句与函数一 echo语句1.1 echo常用转义字符1.2 运算方法二 循环语句2.1 for循环2.1.1 for循环格式2.1.2 循环中断(break、continue)2.1.3 for循环三种方法2.2 while循环2.3 until循环三 函数3.1 函数返回值3.2 递归函数3.3 函数库的创建与调用 一 echo语句 1.1 echo常用转义字符 echo -n表示不换行输出 echo -e输出转义字符,将转义后的内容输出到屏幕上 常用转义字符 释义 \

cenjeal的博客 1万+

SPD5 集线器协议内容解析

​ 若不同SPD5 Hub后面的本地侧设备同时发送请求,则是22和23、24的混合过程,先通过LID裁决,再通过HID裁决,这里的LID是本地设备的,若LID一致,则看HID,由于SPD5 Hub的本地侧设备HID均为111,因此实际上是比较SPD5 Hub的HID,这个过程在前文提到,SPD5 Hub会转换HID。​ 若MR27[4]=1且MR27[3:0]=1,如果MR51[3:0]=1时,发送IBI,并且MR48[7]置1,将GETSTATUS CCC的待处理中断位[3:0]更新为0001。

weixin_50591344的博客 3860

SGP4/SDP4详解

**SGP4** (Simplified General Perturbations Version 4) 和 **SDP4** (Simplified Deep-space Perturbations Version 4) 是一组**解析轨道预报模型**,用于预测地球轨道卫星的位置和速度。它们是北美防空司令部(NORAD)维护的**TLE**数据格式的标准配套算法。 简单来说:**TLE是卫星轨道的"身份证",而SGP4/SDP4是解读这张身份证的"说明书"**。

ScilogyHunter的博客 592

shell 编程之循环语句

使用变量来记录猜测次数。在一些技术培训和学习领域,出于实验或测试的目的,需要批量添加用户账号,这些用户的名称中包含固定的前缀字串,并按照数字顺序依次进行编号,账号的数量往往也是固定的…中央电视台著名的“时尚购物街”节目中,有一个猜价格的互动环节,要求参与者在最短的时间内猜出展示商品的实际价格,当所猜的价格高出或低于实际价格时,主持人会给出相应的提示。本例中计算从 1 到58 的和,从1开始相加,采用循环的方式,每次循环后加 1,将得到的值加入计算的和中,数字运算采用的是 let 方式,直到加到50 为止;

tkzcmz的博客 1009

SAP CPI 如何代理第三方接口?

代理接口是指在系统 A 和系统 B 之间引入一个中间层(如 SAP CPI),由中间层负责接收来自系统 A 的请求,进行必要的处理或转换,然后将请求转发给系统 B。由于 OData 服务通常使用 JSON 格式的数据,而某些内部系统可能需要 XML 格式,因此我们添加一个 JSON 到 XML 的转换器,以确保数据格式的兼容性。为了确保返回的数据格式符合内部系统的要求,添加一个 XML 到 JSON 的转换器,将 OData 服务的响应从 XML 转换为 JSON。在集成包中,添加一个新的集成流,命名为。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1749

Shell编程循环语句与函数

■-n:不会执行该脚本,仅查询本语法是否有问题,如果没有语法问题就不显示任何内容,如果有问题会提示报错。■-v:在执行脚本时,先将脚本的内容输出到屏幕上然后执行脚本,如果有错误,也会给出错误提示。●方法2:数组名=([0]=vlaue [1]=vlaue [2]=vlaue …■-x:将执行的脚本内容输出到屏幕上,这个是对调试很有用的参数。●IP地址存放在ipadds.txt文件中,每行一个。■重复测试某个条件,只要条件不成立则反复执行。■重复测试某个条件,只要条件成立则反复执行。

w2304948626的博客 1350

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Shell脚本编程之case语句与循环语句

case语句的执行流程:首先“变量值”与模式1进行比较,若取值相同则执行模式1后面的命令序列,直到遇见“;”后跳转至esac,表示结束分支;然后将列表中的第2个取值赋值给变量,并执行循环体中的命令序列....以此类推,直到列表中的所有取值用完,最后将跳至done语句,表示结束循环。为避免编写的脚本出错,除了在编写脚本时注意书写规范,排除语法错误,更重要的是利用调试脚本工具来调试脚本。echo命令是最有用的调试脚本工具之一,一般在可能出现问题的脚本中加入echo命令,采用的是分段排查的方式。

qq_73611706的博客 1777

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

上一篇: 你追我如果你追到我,我就教你Shell编程之条件语句
下一篇: 小菊花宝宝课堂开课了,教你认识各种形状——用脚本绘图
Alterego_
博客等级 码龄6年 14粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值