循环编程的三种结构

循环编程的三种结构

ID:41033277

大小:908.50 KB

页数:21页

时间:2019-08-14

循环编程的三种结构_第1页
循环编程的三种结构_第2页
循环编程的三种结构_第3页
循环编程的三种结构_第4页
循环编程的三种结构_第5页
资源描述:

《循环编程的三种结构》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第18章 shell编程——循环401第18章 shell编程——循环目标完成此章学习后,你将掌握下列内容:n使用while结构,在某条件保持为真的情况下重复执行一段代码。n使用until结构,重复执行一段代码,直到某条件为真。n使用for结构,遍历由空白区分隔的一串参数。第18章 shell编程——循环40118.1 循环——介绍注释使用循环结构可以重复执行一个命令序列,就和分支结构一样,关键命令的返回码决定继续还是停止执行循环语句。test命令常常用来控制循环语句是否继续执行。分支结构的起始点是

2、一个关键词,终点是该关键词的倒序词(if/fi和case/esac),循环结构与分支结构不同,它起始于一个关键词和一个条件,循环体被包围在do和done中间。第18章 shell编程——循环40118.2 用let命令做数学表达式运算注释通常shell通过递增一个数值型变量的值来控制循环语句。在shell脚本中let命令可以使用数学表达式,它支持长整型变量。该命令的语法如本节幻灯片所示,expression是一个表达式,可以代表shell变量和操作符。将表达式括在(())里面的相当于let命令。sh

3、ell能辨认的操作符如表18-1所示,按优先级从低到高排列。表18-1操作符描述-单操作符负号!逻辑非*/%乘、除、余数+-加、减<=>=关系型比较==!=等于、不等于=分配数值第18章 shell编程——循环401  可以用括号改变一个表达式的计算顺序,如:  let“x=x/(y+1)”应该注意的是:很有必要使用双引号使括号的特殊意义失效。同样,如果在表达式里有空格,在使用let命令或者(())时必须用双引号:  let“x=x+(y/2)”或者((x=x+(y/2))当使用逻辑操作符和关系操作

4、符(!、<=、>=、<、>、==、!=)时,shell的返回值变量——?,会显示运算结果是true还是false(0代表true,1代表false)。同样,还是要用双引号防止shell将小于等于号和大于等于号理解为输入输出重定向符。第18章 shell编程——循环40118.3 while结构注释while结构是shell提供的一个循环机制,当某条件为真的时候,循环执行shell的一段命令(listB)。这个条件是否为真由listA最后一个命令的返回码决定。常常使用test或let命令控制循环,但任

5、何其他可以产生返回码的命令都可以用来控制循环。本节幻灯片中的例子可以用let命令代替test命令来控制循环,如下所示:  $ X=1  $ while[$X-le10]  >do  >echohelloXis$X  >letX=X+1  >done第18章 shell编程——循环401  其执行情况如下:(1)执行listA中的命令。(2)如果listA中最后一个命令的返回码为0(true),那么执行listB。(3)返回第一步。(4)如果listA中最后一个命令的返回码不是0(false),跳到紧

6、接done之后的第一个命令。While结构流程图如图18-1所示。图18-1While结构流程图警告注意使用无限性while循环。有些循环的控制命令永远返回真。$catwhile_infinitewhiletruedoechohello第18章 shell编程——循环401done$while_infinitehellohello...Ctrl+c第18章 shell编程——循环40118.4 while结构——例子注释本节幻灯片演示了while结构的另外两个例子。例A演示的是:提示用户输入一个值,

7、然后根据用户的反应决定是否继续循环。例B演示的是:循环检验命令行中的每个参数。如果参数是一个目录,则显示该目录的内容。如果参数不是一个目录,则跳过该参数。请注意,使用shift这个命令可以一个接一个地访问每一个参数。当它与while命令结合使用时,会使循环结构变得很灵活。无论有1个还是100个参数,循环会继续进行,直到所有的参数被访问完毕。应该注意的是如果想最少执行一次循环,可能需要建立一个while循环。例A将至少执行一次循环体,因为例A中的ans已经被设置成等同于yes。在例B里,如果这个程序不

8、带例A中的命令行参数($#=0)执行,那么将不执行这个循环。第18章 shell编程——循环40118.5 until结构注释until结构是shell提供的另一种循环机制,这个结构中的命令系列(listB)会保持循环运行,直到某条件为真。与while结构相似,这个条件是否为真由listA最后一个命令的返回码决定。  本节幻灯片中例子的执行情况如下:(1)执行listA中的命令。(2)如果listA中最后一个命令的返回码不为0(false),那么执行listB。(3)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。