《网络系统管理linux实训》全套PPT电子课件教案-第4章 shell编程.ppt_第1页
《网络系统管理linux实训》全套PPT电子课件教案-第4章 shell编程.ppt_第2页
《网络系统管理linux实训》全套PPT电子课件教案-第4章 shell编程.ppt_第3页
《网络系统管理linux实训》全套PPT电子课件教案-第4章 shell编程.ppt_第4页
《网络系统管理linux实训》全套PPT电子课件教案-第4章 shell编程.ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

第4章shell编程 4 1shell编程简介4 2shell分类4 3shell基本语法4 4shell程序的变量和参数4 5shell的测试表达式4 6shell的控制结构4 7awk4 8sed4 9shell程序实例 本章提要 shell编程 shell基本语法及测试条件 shell控制流程 awk过滤器 sed流编辑器 shell编程实例 本章介绍shell编程的基本方法和实例 为了方便用户编程本章列出了shell编程的基本语法 控制结构 sed awk 测试表达式和编程实例 4 1shell编程简介 shell是用户和linux内核之间的接口程序 在提示符下输入的每个命令都由shell先解释后再传给linux内核 4 2shell分类4 3shell基本语法 shell的基本语法主要包括 如何输入命令运行程序 如何在程序之间传递参数 4 3 1输入输出重定向4 3 2管道 pipe 4 3 3前台和后台4 3 4shell通配符在绝大多数linuxshell中 可使用通配符来表示多个文件 1 通配符 可用来代表文件中的任意长度的字符 例3 显示所有以c开头的文件名 命令如下 lsc 2 通配符 可用来代表文件中的任一字符例4 显示所有以ch开头的文件名长为3个字符且扩展名为 txt的文件名 命令如下 lsch txt 3 通配符 可用来代表文件中的任一属于字符组中的字符例5 显示所有以ch开头 第三个字符为0 9的阿拉伯数字 文件名长为4个字符且扩展名为 txt的文件名 命令如下 lsch 0 9 txt4 3 5花括弧展开式 4 4shell程序的变量和参数 4 4 1shell定义的环境变量常用的shell环境变量有以下几个 homepath path path 新路径名termuidpwdps1 4 4 2用户定义的变量变量名 变量值4 4 3位置参数 1 标识第一个位置参数 2 标识第二个位置参数 3 标识第三个位置参数 n 标识第n个位置参数 0 是一个特殊的变量 4 4 4预定义变量 位置参数的数量 所有位置参数的内容 命令执行后返回的状态 当前进程的进程号 后台运行的最后一个进程号 0 当前执行的进程名 4 4 5参数置换的变量4 4 6单双引号及后引号4 4 7变量赋值法 1 使用read命令从标准输入中读入变量read命令获得下一行的输入 并把它赋给变量 见下例 name copycorp purpose copyspecifiedfileto corporate info public salescorpsales corporate info public salesecho enternameoffiletocopy promptuserreadfilename getfilenamecp filename corpsales dothecopy 2 利用替换命令赋值将一个可执行命令的执行结果赋值给一个变量 例如 如要把当前工作目录的名字存储到变量cwd中 命令如下 cwd pwd 赋值语句中使用的是后引号 其作用是命令执行结果引用 即将pwd命令的执行结果赋值给cwd变量 4 5shell的测试表达式 1 文件测试2 数值测试3 字符串测试 4 6shell的控制结构 1 for结构2 while until结构3 case结构4 if结构 4 7awk awk是模式扫描和处理语言 又称过滤器 awk之所以广泛应用是因它吸收了c语言的许多优点 下面通过一个例子来看一下awk的神奇功用 awk print etc passwd 4 7 1awk的调用方式1 awk命令行2 使用 f选项调用awk程序3 利用命令解释器调用awk程序 4 7 2awk的语法4 7 3awk的记录 字段与内置变量awk与数据库的工作方式有相同之处 其一就是awk支持对记录和字段的处理 而对字段的处理是grep和sed不能实现的 4 7 4awk的变量awk提供两种变量 一种是awk内置的变量 另一种变量是自定义变量 4 7 5awk的运算与判断awk支持多种运算 如 等 同时 awk也支持 之类的功能 4 7 6awk的流程控制1 begin和end2 流程控制语句4 7 7awk的常规表达式在表4 1至表4 4中列出awk的元字符表达式 算数运算符 测试表达式和操作符 4 8sed sed是linux平台 或unix 的流编辑器 sed相当小巧 它可以利用管道对标准输入 标准输入的数据进行编辑和组合 4 8 1sed基本语法sed 选项 f脚本文件输入文件n不打印c下一命令是编辑命令f如果正在调用sed脚本文件 4 8 2sed规则表达式sed规则表达式匹配的原则 如果在匹配表达式中出现特殊字符 必须使用 屏蔽其特殊含义 在表4 6中列出使用sed在文件中定位文本表达式 4 8 3sed规则表达式与命令的应用1 替换2 更多字符匹配3 高级替换 4 9shell程序实例 4 9 1shell菜单程序1 程序功能描述编写一个shell程序 使用shell编写一个菜单 分别实现列出以下内容 1 目录内容 2 切换目录 3 创建文件 4 编辑文件 5 删除文件的功能 在此例中将用到循环语句until 分支语句case 输入输出语句read和echo 2 建立shell程序menu如下 bin shuntilecho 1 listyouselecteddirectory echo 2 changetoyouselecteddirectory echo 3 creatanewfile echo 4 edityouselectedfile echo 5 removeyouselectedfile echo 6 exitmenu readinputtest input 6 docase inputin1 ls 2 echo entertargetdirectory readdircd dir 3 echo enterafilename re

温馨提示

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

评论

0/150

提交评论