- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
循环编程的三种结构,c语言循环编程题,程序的三种基本结构,算法的三种基本结构,c语言的三种基本结构,程序的三种基本结构是,程序流程的三种结构,arm体系结构与编程,循环结构,热风循环烘箱结构图
第18章 shell编程——循环
目标
完成此章学习后,你将掌握下列内容:
使用while结构,在某条件保持为真的情况下重复执行一段代码。
使用until结构,重复执行一段代码,直到某条件为真。
使用for结构,遍历由空白区分隔的一串参数。
18.1 循环——介绍
注释
使用循环结构可以重复执行一个命令序列,就和分支结构一样,关键命令的返回码决定继续还是停止执行循环语句。test命令常常用来控制循环语句是否继续执行。
分支结构的起始点是一个关键词,终点是该关键词的倒序词(if/fi 和case/esac),循环结构与分支结构不同,它起始于一个关键词和一个条件,循环体被包围在do和done中间。
18.2 用let命令做数学表达式运算
注释
通常shell通过递增一个数值型变量的值来控制循环语句。在shell脚本中let命令可以使用数学表达式,它支持长整型变量。该命令的语法如本节幻灯片所示,expression是一个表达式,可以代表shell变量和操作符。将表达式括在(( ))里面的相当于let命令。 shell能辨认的操作符如表18-1所示,按优先级从低到高排列。
表18-1
操 作 符 描 述 - 单操作符负号 ! 逻辑非 * / % 乘、除、余数 + - 加、减 = = 关系型比较 == != 等于、不等于 = 分配数值 可以用括号改变一个表达式的计算顺序,如:
let “x=x/(y+1)”
应该注意的是:很有必要使用双引号使括号的特殊意义失效。同样,如果在表达式里有空格,在使用let命令或者(( ))时必须用双引号:
let “x=x+(y/2)” 或者 (( x=x+(y/2 ))
当使用逻辑操作符和关系操作符(!、=、=、、、==、!=)时,shell的返回值变量——?,会显示运算结果是true 还是false(0 代表true,1代表false)。同样,还是要用双引号防止shell将小于等于号和大于等于号理解为输入输出重定向符。
18.3 while结构
注释
while结构是shell提供的一个循环机制,当某条件为真的时候,循环执行shell的一段命令(list B)。这个条件是否为真由list A最后一个命令的返回码决定。常常使用test 或let命令控制循环,但任何其他可以产生返回码的命令都可以用来控制循环。
本节幻灯片中的例子可以用let命令代替test命令来控制循环,如下所示:
$ X=1
$ while [ $X -le 10 ]
do
echo hello X is $X
let X=X+1
done
其执行情况如下:
执行list A中的命令。
如果list A 中最后一个命令的返回码为0(true),那么执行list B。
返回第一步。
如果list A 中最后一个命令的返回码不是0(false),跳到紧接done之后的第一个命令。
While结构流程图如图18-1所示。
图18-1 While结构流程图
警告
注意使用无限性while循环。有些循环的控制命令永远返回真。
$ cat while_infinite
while
true
do
echo hello
done
$ while_infinite
hello
hello
.
.
.
Ctrl + c
18.4 while结构——例子
注释
本节幻灯片演示了while结构的另外两个例子。例A演示的是:提示用户输入一个值,然后根据用户的反应决定是否继续循环。例B演示的是:循环检验命令行中的每个参数。如果参数是一个目录,则显示该目录的内容。如果参数不是一个目录,则跳过该参数。请注意,使用shift这个命令可以一个接一个地访问每一个参数。当它与while命令结合使用时,会使循环结构变得很灵活。无论有1个还是100个参数,循环会继续进行,直到所有的参数被访问完毕。
应该注意的是如果想最少执行一次循环,可能需要建立一个while循环。例A将至少执行一次循环体,因为例A中的ans已经被设置成等同于yes。在例B里,如果这个程序不带例A中的命令行参数($#=0)执行,那么将不执行这个循环。
18.5 until结构
注释
until结构是shell提供的另一种循环机制,这个结构中的命令系列(list B)会保持循环运行,直到某条件为真。与while结构相似,这个条件是否为真由list A最后一个命令的返回码决定。
本节幻灯片中例子的执行情况如下:
(1)执行list A中的命令。
(2)如果list A 中最后一个命令的返回码不为0(false),那么执行list B。
(3)返
您可能关注的文档
- 常用贴片式电容电阻封装尺寸.pdf
- 常规厚膜片式电阻器使用.pdf
- 应急柴油发电机组容量的计算-经典.doc
- 应急照明与疏散指示标志.ppt
- 应用光学(第三章理想光学系统).ppt
- 应用光学(第六章).ppt
- 应用光学-辐射度学和光度学基础.ppt
- 应用光学2006(第二章)4.ppt
- 应用光学2006(第六章)new.ppt
- 应用光学复习 第二章 考试必过.ppt
- 东海证券-轮胎行业月报:2024年高景气收官,节后开工恢复性提升.pdf
- 东吴证券-环保行业跟踪周报:欧盟终裁略下调对华生柴反倾销关税,开始跟踪SAF进口,持续推荐现金流资产.pdf
- 北京博观众智信息科技-日本保健品行业繁荣发展的背后及发展现状.pdf
- 兴业证券-电力设备行业深度报告:机器人业务打开锂电精密加工企业成长空间.pdf
- 信达证券-航空运输月度专题:1月油汇向好、国内线运力同比微增,客座率高位维稳.pdf
- 兴业证券-德昌股份-605555-家电汽零双轮驱动,多元布局兑现高成长.pdf
- 东吴证券-九方智投控股-09636.HK-基本面夯实乘A股东风,AI赋能拓成长蓝海.pdf
- 民生证券-计算机行业深度报告:DeepSeek系列报告之AI+医疗.pdf
- 兴业证券-基础化工行业周报:国常会研究提振消费及化解重点产业结构性矛盾继续关注化工核心资产及新材料成长.pdf
- 国金证券-A股投资策略周报:港股“狂飙”背后:哪些驱动因子与A股不一样?.pdf
最近下载
- 铁血丹心-钢琴谱 高清正版完整版五线谱.pdf
- SPC地板现状研究分析与发展前景预测报告2024年.docx VIP
- 以中国式现代化全面推进中华民族伟大复兴(ppt)(1).PPTX VIP
- (苏教版)三年级下册综合实践第三单元电子教案.pdf VIP
- 幼儿园小班主题我爱我家.pdf VIP
- 品管圈PDCA获奖案例-心血管内科降低经皮冠状动脉介入术后肢体肿胀发生率医院品质管理成果汇报.pptx
- 提高容积率的申请报告.doc
- 2024 年度民主生活会“四个对照”方面(存在问题、原因剖析及整改措施).docx VIP
- GB41022-2021 煤矿瓦斯抽采基本指标.pdf
- 2025年无锡工艺职业技术学院高职单招数学历年(2016-2024)频考点试题含答案解析.docx
文档评论(0)