Linux7.ppt_第1页
Linux7.ppt_第2页
Linux7.ppt_第3页
Linux7.ppt_第4页
Linux7.ppt_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第7讲Linux shell编程3,主要内容控制结构if语句条件测试用例语句while语句for语句中断命令和继续命令退出命令选择语句,4.9控制结构4.9.1 if语句,if语句用于条件控制结构,其一般格式是:如果测试条件,则命令1 else命令2 fi,其中If、else和fi是关键字。例如:如果test-f $1,那么echo $1是一个序数文件。否则echo $1不是一个序数文件。fi,if语句的else部分可以默认。例如,如果if测试的else部分是f $1,那么echo $1就是一个序数文件。fi if语句也可以是elseif结构,使用关键字“elif”代替“else if”。例如

2、,如果测试f $1,则pr $ 1;如果测试d $1,则(CD $ 1;PR *) else echo $1不是另一个文件,也不是一个目录。fi,if语句的更一般的形式是:如果命令表1那么命令表2 else命令表3 fi,4.9.2条件测试,有三种常见的条件测试形式:一种是使用测试命令,如上所示。另一种是用一对方括号将测试条件括起来。这两种形式完全等同。例如,为了测试位置参数$1是否是一个现有的普通文件,它可以写成:test -f $1或:-f $1。第三种形式是条件表达式测试命令可以与各种系统操作符一起使用。这些运算符可以分为四类:文件测试运算符、字符串测试运算符、数字测试运算符和逻辑运算符

3、。1个文件测试,2个字符串测试,3个数值测试,4个逻辑运算符上述测试条件可以在if语句或loop语句中单独使用,也可以由逻辑运算符组合使用。可以在测试语句中使用的逻辑运算符是:逻辑“非”,放在任何逻辑表达式之前,使原始表达式为真为假,使原始表达式为假为真。例如,-1雷亚尔!测试r $1 等。-逻辑“与”,它位于两个逻辑表达式之间,只有当两个表达式都为真时,结果才为真。例如,-f $myfile-a-r myfile-o逻辑OR (OR)放在两个逻辑表达式之间,其中只要一个表达式为真,结果就是真。例如,$a -ge 0 -o $b -le 100(表达式)括号可以将一个逻辑表达式括起来,使其成为

4、一个整体,从而赋予操作优先权。例如,逻辑表达式($a -ge 0) -a ($b -le 100)中的条件测试运算符优先于“!”操作员,“!”运算符的优先级高于“-a”运算符,“-a”运算符高于“-o”,括号()高于“-a”。5特殊条件测试(1):表示不做,其退出值为0。(2)true表示始终为true,其退出值始终为0。(3)false表示始终为false,其退出值为255。4.9.3案例陈述,允许选择多个条件。它的一般语法形式是:模式字符串中的大小写字符串1)命令命令;模式串2)命令命令;模式字符串n)命令命令;Esac,在使用case语句时,应该注意每个模式字符串后面可以有一个或多个命令

5、,最后一个命令前面必须有两个分号(即;)结束。通配符可以在模式字符串中使用。如果一个模式字符串包含多个模式,每个模式应该用竖线(|)分隔,表示每个模式是一个或关系,也就是说,只要给定的字符串匹配其中一个模式,后续的命令表就会被执行。每个模式字符串应该是唯一的,不应该重复。它们出现的顺序应该合理安排。case语句以关键字case开始,并以关键字esac (case!)结束。case的exit(返回)值是在整个结构中执行的最后一个命令的exit值。如果没有执行命令,退出值为零。4.9.4 while语句。外壳中有三个用于循环的语句:while语句、for语句和直到语句。while语句的一般形式是:

6、while test conditions do command table do test conditions可以是除测试命令之外的一组命令或等效的方括号。根据最后一个命令的退出值。4.9.5直到语句,直到语句的一般形式是:直到测试条件do命令表done,这类似于while语句,只是测试条件不同:当测试条件为假时,它进入循环体,循环终止,直到测试条件为真。4.9.6 for语句有两种用法:一种是数值表,另一种是算术表达式。1值表的一般格式是:对于值表中的变量;Do命令表;根据循环变量的取值方法,它可以分为三种格式:格式1:对于值表中的变量做命令表完成,格式2:对于文件中的变量做正则表达式做

7、命令表完成格式3:对于I做$*或者对于I做命令表做命令表完成,2算术表达式模式它的一般格式是:对于(E1;E2;E3);Do命令表;(E1;E2;e3)do命令表done,其中e1、e2、E3和E3是算术表达式。它的执行过程类似于c语言中的for语句,即首先根据算术运算规则计算表达式E1;然后计算e2,如果e2值不是0,执行命令表中的命令,计算E3;然后重复,直到e2为0,退出循环。4.9.7中断命令和继续命令,1中断命令中断命令使程序退出循环体。它的语法格式是:break N2 continue command continue command在循环体中跳过它后面的语句,并在下一个循环的这个级别返回到循环的开始。它的语法格式是:继续n,4.9.8退出命令。exit命令的功能是立即退出正在执行的shell脚本并设置退出值。它的语法格式是:exit n,4.9.9 select语句,通常用于菜单设计。它自动完成接收用户输入的整个过程,包括显示一组菜单项和阅读用户的选择。select语句的语法是:在word do命令表中选择标识符完成如果word中的部分被省略,参数标识符将位置参数($1,$2)作为给定值。4.10函数,可在shell脚本中定义和使用。其定义格式为:函数函数名()。应该先定义然后使用命令表函数。调用函数时,直

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论