Linux操作系统实用教程07

上传人:biao****biao 文档编号:243140859 上传时间:2024-09-16 格式:PPT 页数:36 大小:1.52MB
返回 下载 相关 举报
Linux操作系统实用教程07_第1页
第1页 / 共36页
Linux操作系统实用教程07_第2页
第2页 / 共36页
Linux操作系统实用教程07_第3页
第3页 / 共36页
点击查看更多>>
资源描述
一级标题,xyz,二级标题,xyz,三级标题,xyz,四级标题,xyz,五级标题,xyz,Linux,操作系统实用教程,*,标题区,xyz,Linux,应用基础,七,Shell,程序设计,信息与通信工程学院,七,Shell,程序设计,第七章,Shell,程序设计,本章目标,了解,Shell,的地位和作用、,Shell,各主要版本,熟练掌握,Shell,脚本,的建立与执行方法,掌握,Shell,的变量和特殊字符,掌握,Shell,的输入输出命令,掌握常用,Shell,程序逻辑结构语句,Linux,操作系统实用教程,七,Shell,程序设计,第七章,Shell,程序设计,7.1 Shell,概述,7.2 Shell,的变量,7.3 Shell,中的特殊字符,7.4 Shell,编程中的输入输出命令,7.5 Shell,程序控制结构语句,Linux,操作系统实用教程,7.1 Shell,概述,Shell,是,UNIX/Linux,系统中用户与系统交互的接口,7.1.1 Shell,简介,Shell,的功能,命令解释器,高级程序设计语言,Shell,的版本,sh,,,Bourne Shell,csh,,,C-Shell,ksh,,,Korn,Shell,Bash,,,Bourne Again Shell,Linux,操作系统实用教程,7.1 Shell,概述,7.1.1 Shell,简介,Shell,程序,$,sh,test7-1,ls,-l,cal,who,Linux,操作系统实用教程,7.1 Shell,概述,7.1.2 Shell,脚本的建立与执行,Shell,脚本的建立,同建立普通文本文件的方式相同,可利用编辑器,vi,或,cat,命令,进行程序录入和编辑加工。,Shell,脚本的执行,$,sh,脚本名,$,sh,,错误重定向输出,,P45,Linux,操作系统实用教程,7.4 Shell,编程中的输入输出命令,7.4.2 shell,的输入输出重定向命令,:输入重定向,$ command ,:输出重定向,$ command ,output_file,:输出附近重定向,$ command ,input_file,2,:标准错误重定向,$ command 2,error_file,Linux,操作系统实用教程,7.4 Shell,编程中的输入输出命令,7.4.3 shell,的输入输出命令,read,$ read,变量,1 ,变量,2 ,由标准输入读取数据,然后赋给指定的变量,echo,echo,命令将其后的参数输出,最好用,双引号,把所有参数括起来,这样不仅易读并且能使,shell,对它们进行正确的解释,Linux,操作系统实用教程,7.5 Shell,程序控制结构语句,脚本的控制结构语句有三种基本的类型:两路分支、多路分支以及一个或多个命令的循环执行,两路,分支语句是,if,语句;,多路,分支语句是,if,和,case,语句;代码的,循环,执行语句是,for,、,while,和,until,语句,7.5.1 if,语句,两路分支,的,if,语句,if,判断条件,then,命令,1,else,命令,2,fi,多路条件判断分支,的,if,语句,if,判断条件,1,then,命令,1,elif,判断条件,2,then,命令,2,else,命令,n,fi,/,其中,elif,是,else if,的缩写,Linux,操作系统实用教程,7.5 Shell,程序控制结构语句,7.5.2,测试语句,test,,关键字,$ test expression, ,,方括号, expression ,二者等效,注意事项,变量尽量使用,双引号,运算符、圆括号、方括号等操作符前后加空格,续行符,用于三种形式的测试:文件测试、字符串测试和数值测试,Linux,操作系统实用教程,7.5 Shell,程序控制结构语句,7.5.2,测试语句,文件测试参数,参数,功能,-r file,若文件存在并且是用户可读的,则测试条件为真,-w file,若文件存在并且是用户可写的,则测试条件为真,-x file,若文件存在并且是用户可执行的,则测试条件为真,-f file,若文件存在并且是普通文件,则测试条件为真,-d file,若文件存在并且是目录文件,则测试条件为真,-p file,若文件存在并且是,FIFO,文件,则测试条件为真,-s file,若文件存在并且不是空文件,则测试条件为真,Linux,操作系统实用教程,7.5 Shell,程序控制结构语句,7.5.2,测试语句,字符串测试参数,参数,功能,str,如果字符串,str,不是空字符串,则测试条件为真,str1 = str2,如果,strl,等于,str,2,,则测试条件为真,(,注意,“,=”,前后须有空格,),str1 ! = str2,如果,str1,不等于,str2,,则测试条件为真,-n,str,如果字符串,str,的长度不为,0,,则测试条件为真,-z,str,如果字符串,str,的长度为,O,,则测试条件为真,Linux,操作系统实用教程,7.5 Shell,程序控制结构语句,7.5.2,测试语句,数值测试参数,参数,功能,n1 ,eq,n2,如果整数,n1,等于,n2,(,n1 = n2,),则测试条件为真,n1 ne n2,如果整数,nl,不等于,n2,(,n1 n2,),则测试条件为真,n1 ,lt,n2,如果,n1,小于,n2,(,n1 n2,),则测试条件为真,n1 le n2,如果,n1,小于等于,n2,(,n1 n2,),则测试条件为真,n1 ,ge,n2,如果,nl,大于等于,n2,(,n1 = n2,),则测试条件为真,Linux,操作系统实用教程,7.5 Shell,程序控制结构语句,7.5.2,测试语句,用逻辑操作符进行组合的测试语句,参数,功能,!,逻辑非,放在任意逻辑表达式之前,原来真的表达式变为假,原来假的变为真,-a,逻辑与,放在两个逻辑表达式之间,仅当两个逻辑表达式都为真时,结果才为真,-o,逻辑或,放在两个逻辑表达式之间,其中只要有一个逻辑表达式为真时,结果就为真,( ),圆括号,用于将表达式分组,优先得到结果。括号前后应有空格并用转义符,“,(,”,和,“,),”,Linux,操作系统实用教程,7.5 Shell,程序控制结构语句,7.5.3 case,语句,对同一变量进行多次测试,比,else-if,语句更简洁,case string1 in,str1),commands-list1,;,str2),commands-list2,;,.,strn,),commands-,listn,;,esac,Linux,操作系统实用教程,7.5 Shell,程序控制结构语句,7.5.3 case,语句,注意事项,(1),每个正则表达式后面可有一条或多条命令,其最后一条命令必须以两个分号(,;,)结束,(2),正则表达式中可以使用,通配符,(3),如果一个正则表达式是由多个模式组成,那么各模式之间应以竖线“,|,”,隔开。表示各模式是“,或,”关系,即只要给定字符串与其中一个模式相配,就会执行其后的命令表,(4),各正则表达式是,唯一,的,不应重复出现,(5) case,语句以关键字,case,开头,以关键字,esac,结束,(6) case,的退出(返回)值是整个结构中最后执行的那个命令的退出值。若没有执行任何命令,则退出值为零,Linux,操作系统实用教程,7.5 Shell,程序控制结构语句,7.5.4 for,语句,for variable, in argument-list ,do,command-list,done,其中, in argument-list ,部分为可选项, argument-list ,为变量值表,变量,variable,依次取值表中各字符串, argument-list ,为文件的表达式,变量的值依次取当前目录(或指定目录)下与文件表达式相匹配的文件名,每取值一次,就进入循环体执行命令表,直到所有匹配的文件名取完为止, argument-list ,为空, argument-list ,也可以用,$*,来代替,变量依次取位置参数的值,然后执行循环体中的命令表,直至所有位置参数取完为止,Linux,操作系统实用教程,7.5 Shell,程序控制结构语句,7.5.5 while,语句,while,expression,do,command-list,done,说明:只要,expression,的值为,真,,则进入循环体,执行,command-1ist,中的命令,然后再做条件测试,直到,测试条件为假时终止,while,语句的运行,Linux,操作系统实用教程,7.5 Shell,程序控制结构语句,7.5.6 until,语句,until,expression,do,command-list,done,说明:只要,expression,的值为,假,,就执行,commandlists,的命令,Linux,操作系统实用教程,7.5 Shell,程序控制结构语句,7.5.7 break,和,continue,语句,break ,n,break,命令可以从循环体中退出来,n,指循坏层次,continue ,n,continue,命令跳过循环体中在它之后的语句,回到本层循环的开头,进行下一次循环,n,指循坏层次,Linux,操作系统实用教程,7.5 Shell,程序控制结构语句,7.5.8,算术表达式,expr,n1,运算符,n2,五种基本算术运算,+,:加,-,:减,*,:,乘,/,:除,%,:取模,Shell,只提供,整数,运算,在运算符的前后必须留有,空格,,否则,expr,不对表达式进行计算,而直接输出它们,Linux,操作系统实用教程,7.5 Shell,程序控制结构语句,7.5.9,自定义函数,在,shell,脚本中可以定义并使用函数,Function( ),command-list,函数应,先定义,,,后使用,调用函数时,直接利用函数名调用,Linux,操作系统实用教程,Linux,操作系统实用教程,END,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!