《shell脚本介绍》PPT课件.ppt

上传人:sh****n 文档编号:13561615 上传时间:2020-06-22 格式:PPT 页数:55 大小:631.55KB
收藏 版权申诉 举报 下载
《shell脚本介绍》PPT课件.ppt_第1页
第1页 / 共55页
《shell脚本介绍》PPT课件.ppt_第2页
第2页 / 共55页
《shell脚本介绍》PPT课件.ppt_第3页
第3页 / 共55页
资源描述:

《《shell脚本介绍》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《shell脚本介绍》PPT课件.ppt(55页珍藏版)》请在装配图网上搜索。

1、课程内容,什么是shell 基本思路 变量、条件、判断和程序控制 函数 调试 正则表达式,SHELL入门,什么是shell,用户与linux系统间的接口 功能强大 bash,Shell程序的特点,可快速、简单地完成编程 适合于编写一些执行相对简单任务的小工具 易于配置、维护和可移植 执行效率较低,各种shell,管道和重定向,重定向输出 ls -l out.txt ls -l out.txt 以下命令可以让标准输出和错误输出分别重定向 pkill sleep pkillout.txt 2pkillerr.txt pkill sleep pkillout.txt 2 do more $file

2、done,while循环,for特别适合于对一系列字符串进行处理,而while适合于处理不知道执行次数的情况 while condition do statements done 示例,一个简单的密码验证程序 echo “Enter password:” read pass; while “$pass” != “abc123” ; do echo “Error, try again” read pass; done,until语句,语法: until conditionn do statements done 与while相似,只是条件反过来了 until who | grep “$1” /d

3、ev/null do sleep 60 done echo e a echo “* $1 has just logged in*”,case语句,语法 case var in pattern | pattern ) statements; pattern | pattern ) statements; esac 注意,每个模式行用双分号(;)结束 case “$var” in yes) echo yes; no) echo no; *) echo default; esac,case语句,case 只匹配一个分支,即使其他的分支也成立 case “$var” in yes | y | Yes

4、| YES ) echo OK; n* | N* ) echo No; * ) echo other esac case “$var” in yes | y | Yes | YES ) echo OK; nN* ) echo No; * ) echo other esac,命令列表,and列表 statement1 result=“$(foo)” 可以使用local关键字在shell函数中声明局部变量 return 0被认为是逻辑真,命令,命令,内部命令和外部命令 内部命令是由shell实现的,它不能做为外部程序被调用,效率较高 大多数内部命令同时提供独立运行的程序版本,这是PISOX规范所要

5、求的,命令,break命令 用于跳出for,while until循环 :命令 空命令 有时会被用于简化条件逻辑,相当于true while : 被当作无限循环 $(var:=value) 以防止shell把var当作一个命令 continue 使for,while,untile跳到下一次循环,source和点(.),.命令 点(.)用于在当前shell中执行命令 通常,当脚本执行外部命令或脚本时,会创建新的环境(子shell),但.可以让我们在当前环境下执行命令 可以使用.让当前shell的环境设置改变 source 同.命令,echo,输出结尾带有换行的字符串 如何去掉换行符 Linux常

6、用的解决方法: echo n “string to output” 还有: echo e “string to outputc” c表示去掉换行符 为了更好的移植性时,可考虑使用printf,eval命令,允许对参数求值,shell的内置命令 foo=10 x=foo y=$x echo $y 以上代码结果为$foo foo=10 x=foo eval y=$x echo $y 结果为10 eval允许代码被随时生成并运行,非常有用,但调试复杂,exit n命令,使用脚本程序以退出码n结束运行 如果没有指定一个脚本的退出码,那最后一条命令的状态将被用作返回值 在shell中,退出码0代表成功,

7、1125是可以使用的错误代码。其余数字具有保留含义,export命令,将做为它参数的变量导出到子shell中有效。默认情况下,一个shell中创建的变量在子shell中是不可用的。 一旦一个变量被导出,它就可以被该shell调用的任何脚本使用,也可以被后续依次调用的任何shell使用,expr命令,将参数当作表达来求值 x=expr do echo “$1” shift done,trap命令,指定当接收到信号后将要采取的行动 trap有两个参数: trap command signal 第一个参数是接收到信号所采取的行动,第二个是什么信号 如果command为-,则会重置信号处理方式为默认

8、如果command为,则会忽略某个信号 trap INT,unset,从环境中删除变量和函数 foo=“Hello” echo $foo unset foo echo $foo 作用和foo=差不多,但不同,find命令,find path options tests actions 选项,find命令,测试部分,find命令,组合测试 可以用圆括号改变测试的优先级,不过为了不让shell 处理圆括号,需要进行转义 find . (-name “_*” or newer file2 ) type f -print,find命令,actions部分 find . newer file2 type

9、 f exec ls l ; 魔术字符串是-exec或-ok命令的一个特殊类型,它将被当前文件的完整路径取代,grep命令,General Regular Expression Parse 通用正则表达式解析器 语法:greap options PATTERN FILES 如果没有提供文件名,将搜索标准输入,正则表达式,正则表达式本质是一个匹配字符串,正则表达式,正则表达式,grep e$ words2.txt grep a:blank: words2.txt grep Th.:space: words2.txt grep E a-z10 words2.txt,命令执行,算术扩展,捕获一条命令

10、执行的结果,可以用: var=command var=$(command) expr命令可以处理一些简单的算术命令,但它会调用一个新的shell来执行,效率低,一种更好的办法是$() x=0 while “$x” ne 10 ; do echo $x x=$($x+1) done,参数扩展,S for i in 1 2 ; do process $i_tmp done 常见的替换规则,示例,echo $foo:-bar foo=fun echo $foo:-bar foo=/usr/bin/X11/startx echo $foo#*/ echo$foo#*/ bar=/usr/local/etc/local/networks echo $foo%local* echo $foo%local* for image in *.gif ; do cjpeg $image $image%gifjpg done,

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!