Linux操作系统实用教程第7章.pptVIP

  • 4
  • 0
  • 约5.37千字
  • 约 36页
  • 2019-03-26 发布于湖北
  • 举报
第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)

1亿VIP精品文档

相关文档