《SHELL脚本编程》.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《SHELL脚本编程》.ppt

SHELL脚本编程 林怀东 2005-3-12 linhuaidong@mprc.pku.edu.cn Outline Shell脚本简介 常用shell命令 Shell常用变量 流程控制 Shell函数 shell 脚本介绍 一个shell 脚本可以包含一个或多个shell命令,可用来自动完成通常在命令行上执行的重复循环或者复杂的工作,节省大量时间,且功能强大 shell脚本主要内容 脚本按行解释执行,每一行可 以是命令、注解、或是流程控制指令等 脚本第一行以 #! 开始,后面加所使用的shell(需指明整个路径名称) (如:以 #!/bin/sh 指定使用Bourne Shell) 在脚本中执行一个命令的方法和在命令行中相同,可以前台或后台执行,也可设定一些环境变量 注释,# 后面的同一行文字为注释,解释器对此不予解释 脚本的流程控制近似于一般高级语言,这使得脚本的功能比DOS的批处理文件功能更加强大 常用shell命令 文件及文件属性操作 ls、cp、mv、rm ln、ln –s、chmod、chown、chgrp 输入输出操作 echo 、cat 、、、| 标准输入 0 、标准输出 1 、 标准错误输出 2 目录操作 cd、 pwd、 ls dir mkdir、 cp、 mv 、 rmdir、 rm -r 文本过滤 Head、 tail、 grep、sort、 uniq sed、 awk 其他 find、expr 获取信息: man 正则表达式 ——sed与awk的基础 正则表达式是一些特殊或不很特殊的字符串模式的集合。 字符集包括:普通字符集和元字符集(通配符) 普通字符集:大小写字母、数字、空格、下划线 ^ 行首 $ 行尾 * 一个单字符后紧跟*,匹配0个或多个此单字符 [ ] 匹配[ ]内字符,可以是一个单字符,也可以是字符序列。 可以使用”-“来表示[ ]内范围,如[1-5]等价于[1,2,3,4,5]。 \ 屏蔽一个元字符的特殊含义,如\$表示字符$,而不表示匹配行尾。 . 匹配任意单字符 几个常见的例子: 显示可执行的文件:ls –l | grep …x...x..x 只显示文件夹:ls –l | grep ^d 匹配所有的空行:^$ 匹配所有的单词:[A-Z a-z]* 匹配任一非字母型字符:[^A-Z a-z] 包含八个字符的行:^……..$(8个.) Sed命令 命令格式 sed ‘/pattern/ action’ files pattern: 正则表达式 action: 操作,包括p、d、s 示例: 打印行:sed –n ‘/ 0\.[0-9][0-9]$/p’ fruit_prices.txt 删除行:sed ‘/^[Mm]ango/d’ fruit_prices.txt 执行替换/pattern1/s/pattern2/pattern3/g: sed ‘s/paech/peach/g fruit_prices.txt’ 使用多重sed sed –e ‘cmd1’……-e ’cmdN’ files: sed –e ‘s/paech/peach/’ –e ‘s/ *[0-9][0-9]\.[0-9][0-9]$/\$/’ fruit_prices.txt 在管道中使用sed awk命令 命令格式 awk ‘/pattern/ {actions}’ files 示例: 字段编辑:awk –F: ‘{ print $1,$3}’ inputfiles 或:awk –F: ‘{ printf “%s is %s\n”,$1,$3}’ inputfiles 执行指定模式的操作: awk ‘/ *\$[1-9][0-9]*\.[0-9][0-9] */ {print $0; next} /*\$0\.[0-9][0-9] */ {print $0}’ fruit_prices.txt 比较操作符:、、=、=、==、!=、value ~ /pattern/、value !~ /pattern/ (相关:、||) awk ‘($2 ~ /^\$[1-9][0-9]*\.[0-9][0-9]$/) ($3 75)’ { printf “……”}’ input_f 利用管道符将标准输入作为输入 shell变量 为使shell编程更加容易而且有效,系统提供了一系列shell变量,可以保存诸如文件名、路径名等有用信息,使系统获知用户相关设置 本地变量:在用户现在的shell生命期的脚本中使用,若shell启动另一个进程或退出,该变量值无效 环境变量:用于所有用户进程(子进程),环境变量可以在命令行中设置,但

文档评论(0)

jykt + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档