SHELL脚本编程.ppt_第1页
SHELL脚本编程.ppt_第2页
SHELL脚本编程.ppt_第3页
SHELL脚本编程.ppt_第4页
SHELL脚本编程.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、Shell脚本计程仪编程,林怀东2005-3-12,大纲,Shell脚本概述通用shell命令shell通用变量过程特罗尔shell函数,Shell脚本说明,一个Shell脚本可以包含一个或多个shell命令,通常还可以包含、 强Shell脚本的主要内容脚本逐行解释和执行,每行在脚本的第一行(如命令、注释或进程命令特罗尔命令)上#! 首先,添加要使用的壳(必须指定整个路径名) (例如#! /bin/sh可以在肥鹅肝、后台或某些环境变量注释中设置文件和文件属性操作ls、cp、mv、rm ln,它们与命令行相同,可以使用bourne shell在脚本中执行命令chgrp投入产出操作echo、cat

2、、|标准输入0、标准输出1、标准错误输出2目录查询操作cd、rm -r文本过滤Head、tail、grep、sort、uniq sed、awk其他查找信息: man、正则表达式sed和awk 字符定径套包括普通字符定径套和元字符定径套(合十礼通配符字符)普通字符定径套。 大小写、数字、空格、下划线行首$行末*1个字符后面有*,与这1个字符匹配的字符可以是0个以上、1个字符或字符序列。 范围可以用“-”表示。 例如,1-5等于1,2,3,4,5。 遮罩元字符的特殊含义。 例如,$表示字符$,而不表示与行末匹配。匹配任何一个字符的一些常见示例:显示可执行文件:仅显示ls l|grep x.x文件夹

3、:匹配ls l | grep d所有空行: $匹配所有单词: A-Z a-z*匹配任何非字母文字: 命令格式sed/pattern/actionfilespattern 3360正则表达式包括action:操作、p、d、s的示例:打印行: sedn/0.0-90-9 $/p fruit _ prices.txt删除行: sed/m管理使用dfruit_prruit g fruit_prices.txt多重sedsedecmd1- ecmdnfiles:sedes/pa ech/peach/es/*0- 90-9.0-90 -的指令格式awk /pattern/操作文件示例:现场编辑: awk

4、f 3360打印$ 1、$ 3输入文件或: awk f 3360打印机“% s is % sn下一步/* $0.0- 90-9 * /打印$0fruit _ prices.=、值/pattern /、值! /pattern/(相关: export V-NAME (或分号分成两行)显示所有环境变量使用env命令的一般保留环境变量EDITOR设置编辑器(例如,EDITOR=vi; 导出编辑器pwd当前路径名MANPATH存储系统上的man文本目录查询,如manpath=/usr/apps/man 3360/usr /本地man,用冒号分隔。 export MANPATH,特定变量残奥参数的模式必须

5、以“”(export MANPATH )结束。值可以是变量或常数。如果取值,则检查每个匹配的模式,如果匹配,则期间中的所有命令都为“”; ”的顺序喀呖声。 此后,其他模式不会继续。 如果不匹配,则使用*捕获该值。 条件测试(3续),例如y或n #! echo“不选择”excho“不能选择”excho“不能选择”excho“不能选择”excho echo基本名称$ 0:取消exit 1; esac是, 执行结果: $ shyorndoyouwishtoproceed : ab yorn : unkown $ shyorndoyouwishtoproceed : yesisselected注: e

6、cho n :输出结束时不换行的解老虎钳为局部变量annown 当终止外壳程序时,该数值是门状态,0是成功的,1是错误的,循环结构(1),for循环对一个变量中可能的所有值执行一个指令序列。 一般的格式是for变量名in数值列表do几个命令行done示例1 :循环应用备份#! 复制回归回归回归回归回归回归回归回归回归回归回归回归回归回归回归。 省略in时,变量var的可取值为位置残奥仪表。 对于可以指定给变量的每个值,都会执行do和done之间的命令列表。 /残奥表#! /bin/sh# forparamforparamdoecho$ paramdone执行结果$ shforparamhell

7、okittyhellokitty,回圈结构(2),while和/bin/sh # 只要while readnum=0echon“enter :”while $ num lt5do num=expr $ num1echon“$ num”命令行1中最后一个命令的关闭状态为true,do.done之间的“帧until和while的区别在于,while循环在条件为true时继续运行,until在条件为false时继续运行。 执行结果$ sh whileread 1 2 3 4 5注:在expr :整数(字符串)的修正运算expr argument operator argument中,乘法运算必须用“

8、/”屏蔽其特定的意思,循环结构(3)、break在嵌入循环中,能够指定跳出循环数的contiune :不跳出循环,不执行本次循环之后的语句而开始执行下一个循环这两个语句,只有在do和done之间才有效。 /跳出case死循环脚本,输入3 #! /bin/sh # breakout # :即空命令while 3360 doechon“输入号”readanscase $ ansi n1|2|3) echon ; * ) echo“世界”中断; esac done,壳函数。 shell还可以将一组命令定径套或语句组合为可用的子摇滾乐(shell函数)。 这与外壳程序相似,但外壳程序中一些函数定义的基本格式,而不是单独的过程,function函数名称()一些命令行调用函数的格式, function name param1param2shell函数可以完成特定例行程序的工作。它可以有自己的结束状态(使用return可以返回带有门限值的脚本中的函数,并调用以下语句)。 可以是if、while等控制结构的条件。 定义函数时不需要残奥仪表的说明,但调用函数时可以有残奥仪表。 在这种情况下,shell将这些个的残奥参数分别指定给相应的位置残奥参数$1、$2、和$*、shell函数(续) /函数门值测试#!/bin/sh

温馨提示

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

最新文档

评论

0/150

提交评论