欢迎来到天天文库
浏览记录
ID:59016661
大小:87.00 KB
页数:36页
时间:2020-09-26
《第7章linux shell程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章shell程序设计把命令有机地组合在一起,形成功能强大、使用灵活,但代码简单的新命令,极大地提高了用户管理使用Unix/Linux系统的工作效率。其它shell与Bash版本的shell也十分类似,读者可以举一反三,根据需要自学其他的shell。shell脚本的建立与执行shell脚本的建立同建立普通文本文件的方式相同,可利用编辑器vi或cat命令,进行程序录入和编辑加工。shell脚本的执行sh脚本名sh<脚本名改执行权限后直接执行方式shell的变量~可写的shell环境变量可写的shell环境变量可以对它们进行赋值,大部分可写的
2、shell环境变量都在登录过程中执行“/etc/profile”文件时进行初始化。该文件由系统管理员设置,用于为系统上的所有用户建立一个公共环境。例:HOMEMAILPATHPS1TERM特殊的环境变量$*所有命令行参数的值$#命令行参数的总数$$当前进程的进程ID(PID)$?最后执行的一条命令的退出状态,返回值为0则成功,非0则失败$!在后台运行的最后一个进程的进程ID位置参数在命令行传递给shell脚本的参数。共有十个位置参数,依次是$O,$1,$2,…,$9必有$0;而其他位置参数依据实际需求,可有可无。输出位置参数可以用echo命
3、令输出位置参数位置参数用set命令给位置参数赋值移动位置参数如果实际给定的命令行参数多于9个,就需要用shift命令移动位置参数。shift命令可以带有一个整数作为参数,例如:shift3其功能是每次把位置参数左移3位。如果未带参数,则默认值为l。用户自定义变量在shell编程语言中无须声明和初始化shell变量,一个未初始化的shell变量,其默认的初始化值为空字符串。用户定义的shell变量名是由字母或下线符打头的字母、数字和下线符序列,并且大小写字母意义不同。这与C语言中标识符的定义相同。定义变量并赋值的形式字符串赋值,格式如下:变量
4、名=字符串如果在赋给变量的值中要含有空格、制表符或换行符,那么就应该用双引号把这个字符串括起来。变量值可以作为某个长字符串中的一部分。如果它在长字符串的末尾,就可以利用直接引用形式。查看变量使用变量用env命令可以查看环境变量用不带参数的set命令可以显示所有“shell变量(包括用户自定义变量)名以及它们的当前值。set命令还可用于改变一些只读shell环境变量的值。在程序中使用变量值时,要在变量名前面加上一个符号“$”。这个符号告诉shell,要取出其后变量的值。7.3shell中的特殊字符特殊字符有着重要的作用。包括:通配符引号命令执
5、行顺序操作符注释符、反斜线及后台操作符在使用时应注意它们表示的意义和作用范围。shell的通配符星号(*)问号(?)一对方括号([])感叹号(!)shell的引号双引号(“”)单引号(‘’)倒引号(``)倒引号的嵌套应用,倒引号的嵌套时必须在内层的一组倒引号用反斜线()进行转义。命令执行顺序操作符顺序执行顺序分隔符(;)管道线(
6、)逻辑与(&&)逻辑或(
7、
8、)shell中的注释符、反斜线及后台操作符注释符(#)反斜线()转义符,它能把特殊字符变成普通字符。还作为续行符使用。如果把它放在一行的回车换行之前那么表示下一行接续此行,与下一行被
9、视为同一行,可用于表示长的输入行。后台操作符(&)7.4shell编程中的输入输出命令shell中输入输出的标准文件每个进程运行时自动打开三个文件,这些文件称为命令的标准文件,分别用于命令读取输入、输出结果以及输出错误消息,即标准输入文件(stdin)标准输出文件(stdout)标准错误输出文件(stderr)shell的输入输出重定向命令<>>>2>shell的输入输出命令read命令用read命令由标准输入读取数据,然后赋给指定的变量。其一般格式如下。read变量1[变量2]……echo命令echo命令是将其后的参数输出。最好用双引号把
10、所有参数括起来,这样不仅易读并且能使shell对它们进行正确的解释。7.5shell程序控制结构语句脚本的控制结构语句有三种基本的类型:两路分支、多路分支以及一个或多个命令的循环执行。Linux的bash中的两路分支语句是if语句,多路分支语句是if-elif和case语句;代码的循环执行语句是for、while和until语句。if语句两路分支的if语句格式:if判断条件then命令1else命令2Fi判断条件包括命令语句和测试语句两种方式:命令语句形式的判断条件多路条件判断分支的if语句格式为:if判断条件1then命令1elif判断条
11、件2then命令2……else命令nFi其中elif是elseif的缩写测试语句有两种格式,一种是使用关键字test,而另一种是使用方括号。格式如下:testexpression
此文档下载收益归作者所有