课件:shell编程.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 8.5.6.7 break语句 在循环语句中只要循环表达式满足条件循环将一直进行,而有些时候当循环体内执行的语句满足某种条件时希望终止循环的执行;这可以用shell中的break语句实现。 1.语法格式 break [n] 其中,n为可选的命令选项,表示循环的层数。 该语句实现从for、while和until三种循环语句中退出。当执行break语句时,退出当前的循环层并执行当前循环层done之后的命令。如果指定可选项n,则退出n层的循环,n的值必须大等于1(默认值为1)。如果n的值大于循环层数,则退出所有的循环。 * 2.参考示例 编写一个名为mini99的程序,在屏幕上输出小九九乘法表。 程序代码: #! /bin/sh - for i in 1 2 3 4 5 6 7 8 9 do for j in 1 2 3 4 5 6 7 8 9 do if ( test $j -le $i ) then echo -ne `expr $i \* $j` \t else echo break fi done done * 执行结果: 1 2 4 3 6 9 4 8 12 16 5 10 15 20 25 6 12 18 24 30 36 7 14 21 28 35 42 49 8 16 24 32 40 48 56 64 9 18 27 36 45 54 63 72 81 说明: 当内层循环体中if语句的表达式测试为“假”时,输出换行并退出内层循环,执行外层for循环语句。 * 8.5.6.8 continue语句 与break语句类似,continue语句也是用于控制循环执行的。与break语句不同的是,当命令选项n=1时,它并不退出循环层,只是不执行continue语句和done之间的语句,但接着进行本层循环检测,并决定是否需要进行下一次的循环。 1.语法格式: continue [n] 其中,命令可选项n的含义是跳过本层n次continue和done之间语句执行,n的值必需大等于1(默认值为1)。如果n的值大于本层循环次数,则退到顶层循环。同样,continue语句也用在for、while和until三种循环语句中,目的是在循环体内的某个条件满足或不满足时结束本次循环。 * 2.参考示例 编写一个名为puteven的程序,在屏幕上输出0到指定数之间的所有偶数。 程序代码: #! /bin/sh – echo -n Please input the number: read num i=1 while test $i -le $num do if test `expr $i \% 2` -ne 0 then i=`expr $i \+ 1` continue fi echo $i i=`expr $i \+ 1` done * 说明: (1)从键盘输入指定的数并保存在num变量中。 (2)在循环体内将循环变量的值做“模”2操作,判定是否偶数。如果不是偶数,则只修改循环变量的值并结束本次循环,重新检测循环表达式;否则显示它并修改循环变量的值。如此继续直到循环结束。 (3)本示例是说明continue语句的用法,也可以不用continue而用if then else语句其结果是一样的。 * 例如: #! /bin/sh – echo -n Please input the number: read num i=1 while test $i -le $num do if test `expr $i \% 2` -ne 0 then i=`expr $i \+ 1` else echo $i i=`expr $i \+ 1` fi done * 8.5.7函数 在shell中,允许用户定义自己的函数,以使程序的可读性更好、代码更紧凑。函数是一组命令的集合。 1.函数语法: func_name() { commands } 其中,func_name是被定义的函数名,圆括号是函数的标志,大括号分别表示函数体中命令列表commands的开始和结束,命令列表commands是由命令和shell语句构成的。 2.函数调用: 调用shell函数时只需给出函数名即可(函数名后不能带括号)。其格式为: func_name [par1,par2…] 其中,par为传递给函数的参数,这些参数也将被视为位置参数。 * 3.参考示例: 编写一个名为factorial的程序,其中定义阶乘函数jc,在程序中递归调用它计算阶乘。 程序代码: #! /bin/s

文档评论(0)

iuad + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档