- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Shell编程基础.ppt
第7章 shell程序设计 把命令有机地组合在一起,形成功能强大、使用灵活,但代码简单的新命令,极大地提高了用户管理使用Unix/Linux系统的工作效率。 其它shell与Bash版本的shell也十分类似,读者可以举一反三,根据需要自学其他的shell 。 shell脚本的建立与执行 shell脚本的建立 同建立普通文本文件的方式相同,可利用编辑器vi或cat命令,进行程序录入和编辑加工。 shell脚本的执行 sh 脚本名 sh 脚本名 改执行权限后直接执行方式 shell的变量 ~可写的shell环境变量 可写的shell环境变量可以对它们进行赋值,大部分可写的shell环境变量都在登录过程中执行“/etc/profile”文件时进行初始化。该文件由系统管理员设置,用于为系统上的所有用户建立一个公共环境。 例:HOME MAIL PATH PS1 TERM 特殊的环境变量 $*所有命令行参数的值 $#命令行参数的总数 $$当前进程的进程ID(PID) $?最后执行的一条命令的退出状态,返回值为0则成功,非0则失败 $!在后台运行的最后一个进程的进程ID 位置参数 在命令行传递给shell脚本的参数。 共有十个位置参数,依次是 $O,$1,$2,…,$9 必有$0;而其他位置参数依据实际需求,可有可无。 输出位置参数 可以用echo命令输出位置参数 位置参数 用set命令给位置参数赋值 移动位置参数 如果实际给定的命令行参数多于9个,就需要用shift命令移动位置参数。 shift命令可以带有一个整数作为参数,例如: shift 3 其功能是每次把位置参数左移3位。如果未带参数,则默认值为l。 用户自定义变量 在shell 编程语言中无须声明和初始化shell变量,一个未初始化的shell变量,其默认的初始化值为空字符串。 用户定义的shell变量名是由字母或下线符打头的字母、数字和下线符序列,并且大小写字母意义不同。这与C语言中标识符的定义相同。 定义变量并赋值的形式 字符串赋值,格式如下: 变量名=字符串 如果在赋给变量的值中要含有空格、制表符或换行符,那么就应该用双引号把这个字符串括起来。 变量值可以作为某个长字符串中的一部分。如果它在长字符串的末尾,就可以利用直接引用形式。 查看变量使用变量 用env命令可以查看环境变量 用不带参数的set命令可以显示所有“shell变量(包括用户自定义变量)名以及它们的当前值。set命令还可用于改变一些只读shell环境变量的值。 在程序中使用变量值时,要在变量名前面加上一个符号“$”。这个符号告诉shell,要取出其后变量的值。 7.3 shell中的特殊字符 特殊字符有着重要的作用。包括: 通配符 引号 命令执行顺序操作符 注释符、反斜线及后台操作符 在使用时应注意它们表示的意义和作用范围。 shell的通配符 星号(*) 问号(?) 一对方括号([ ]) 感叹号(!) shell的引号 双引号(“”) 单引号(‘’) 倒引号(``) 倒引号的嵌套应用,倒引号的嵌套时必须在内层的一组倒引号用反斜线(\)进行转义。 命令执行顺序操作符 顺序执行 顺序分隔符(;) 管道线(|) 逻辑与() 逻辑或(||) shell中的注释符、反斜线及后台操作符 注释符(#) 反斜线(\) 转义符,它能把特殊字符变成普通字符。 还作为续行符使用。如果把它放在一行的回车换行之前那么表示下一行接续此行,与下一行被视为同一行,可用于表示长的输入行。 后台操作符() 7.4 shell编程中的输入输出命令 shell中输入输出的标准文件 每个进程运行时自动打开三个文件,这些文件称为命令的标准文件,分别用于命令读取输入、输出结果以及输出错误消息,即 标准输入文件(stdin) 标准输出文件(stdout) 标准错误输出文件(stderr) shell的输入输出重定向命令 2 shell的输入输出命令 read命令 用read命令由标准输入读取数据,然后赋给指定的变量。其一般格式如下。 read 变量1 [变量2] …… echo 命令 echo命令是将其后的参数输出。最好用双引号把所有参数括起来,这样不仅易读并且能使shell对它们进行正确的解释。 7.5 shell程序控制结构语句 脚本的控制结构语句有三种基本的类型:两路分支、多路分支以及一个或多个命令的循环执行。Linux的bash中的两路分支语句是if语句,多路分支语句是if-elif和case语句;代码的循环执行语句是for、while和until语句。 if语句 两路分支的if
文档评论(0)