- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章 Shell编程 9.1 Shell简介 9.1.1 Shell批处理文件 Shell批处理文件(Shell Script)是一个文本文件,指挥并控制Shell执行一系列特定的操作。一个批处理文件可以包含任何命令,甚至还包括既往编写的批处理文件。批处理文件能使用重定向或管道,并能够编写自己的过滤器(Filter)。对比DOS下的?.bat文件便可领会Shell的批处理方式。然而,Linux的Shell批处理文件具有更丰富的内容,Shell批处理能提示输入,随后根据键入的回答信息来执行不同的动作。这种批处理文件还能根据用户提供的参数来处理命令,并根据命令的结果选择相应的步骤,其选择是根据条件执行,即所谓的流控制(Flow Control)。 9.1.2 Shell语言的特点 Shell允许通过编程来完成复杂的功能处理,但其作为语言与高级语言相比较具有自身的特点: (1) ?Shell是解释型语言,而多数高级语言是编译型语言; (2) ?Shell语言与高级语言处理的对象不同; (3) ?Shell与系统的关系更加密切; (4) ?Shell易编写、调试,灵活性较强,但速度低; (5) ?Shell作为命令级语言,命令组合功能很强。 9.1.3 Shell的种类 Bourne?Shell之所以得到了更多的应用,是因为它具有以下特点: (1) 自动补全功能。对于要输入的命令很长的情况,仅需输入开始的部分命令字符,再按一个Tab键,BASH就会在可能的命令类中找寻匹配的命令,找到后就会自动补齐。用户输入的字符越多,BASH搜寻匹配的命令就越容易找到。 (2) 命令行编辑程序功能。BASH的命令行编辑是在提示符下,可对未执行的命令字符任意地修改,即使拼错了也不需要重新输入整个命令,只需在执行命令前使用左右方向键移动光标,用Backspace键或Del键删除字符来修改打错的命令,利用编辑功能纠正错误。 (3) 命令历史(Command History)利用功能。所谓的命令历史就是把曾经输入过的命令记录起来,方便查询与再使用。BASH利用上、下键就可以显示和选择以前输入过的命令。 Korn?Shell是Bourne?Shell的一个超级版本。它增加了别名、历史记录以及命令行编辑等功能。其超级用户的提示符为?#,普通用户的提示符为?$,工作路径为?/usr/bin/ksh。 C?Shell的语法则类似于C语言,它的超级用户的提示符为?#,普通用户的提示符为?%,工作路径为?/usr/bin/csh。 用户可以经过比较,按自己的喜好选择适合于自己的Shell种类。 9.2 Shell的启动与切换 1. 用户登录时启动Shell Linux系统在用户登录时即启动Shell,系统在引导的过程中,需要调用Login进程,负责验证用户身份,验证后把控制权交给Shell程序。Shell根据环境文件建立系统范围内的工作环境和该用户自己的工作环境,最后显示命令提示符按具体实际情况可分为?#、$?或?%。 在?/etc/passwd文件中指定要启动的Shell,其命令格式如下: root: x: 0: 0: root: /root: /bin/bash jobn: x: 701: 10: Certer starf: /home/john: /bin/csh 在约定的提示符出现后则完成启动,此时便进入Shell环境。 2. 命令行状态下启动交互Shell 在同一Linux系统中可能有多种版本的Shell存在,可通过相应的命令来启动或转换,实现3种Shell之间的转换,比较方便。 例如,若在?$?提示符下输入: $ bsh 则会出现?$?提示符,表示此时是Bourne?Shell(BASH)环境,其工作路径在?/usr/bin/sh目录下。 若在?$?提示符下输入: $ ksh 则会出现?$?提示符,表示此时是Korn?Shell(KSH)环境,其工作路径在?/usr/bin/ksh目录下。 若在?$?提示符下输入: $ csh 则会出现?%?提示符,表示此时是C?Shell(CSH)环境,其工作路径在?/usr/bin/csh目录下。 3. 执行用户命令时启动Shell 执行用户命令时,由系统生成新的子Shell来执行该命令。 9.3 Shell的元字符(通配符) 1. 管道与命令表 管道指一个命令的标准输出作为另一个命令的标准输入,不经过任何中间文件的通道。管道能在应用程序中使用。利用管道,可将信息从一个程序送到另一个程序。管道是单向的通信路径,由输出端将信息送入管道,由接收端接收。管道操作
您可能关注的文档
- Java程序设计教程 作者 978-7-302-18214-6 第6章-面向对象程序设计.ppt
- Java程序设计教程 作者 978-7-302-18214-6 第10章-HTML基础.ppt
- Java程序设计教程 作者 978-7-302-18214-6 第11章-图形用户界面.ppt
- Java程序设计教程 作者 978-7-302-18214-6 第12章-Java输入输出.ppt
- Java程序设计教程 作者 曾令明 1-6 第2章.ppt
- Java程序设计教程 作者 曾令明 1-6 第3章.ppt
- Java程序设计教程 作者 曾令明 1-6 第5章.ppt
- Java程序设计教程 作者 曾令明 1-6 第6章.ppt
- Java程序设计教程 作者 曾令明 7-11 第7章.ppt
- Java程序设计教程 作者 曾令明 7-11 第8章.ppt
- Linux操作系统 作者 孙斌 6-11 第11章.ppt
- Linux操作系统项目化教程 作者 978-7-302-30884-3 任务1 选择网络操作系统.ppt
- Linux操作系统项目化教程 作者 978-7-302-30884-3 任务2 安装Debian Linux系统.ppt
- Linux操作系统项目化教程 作者 978-7-302-30884-3 任务4 设置用户和用户组.ppt
- Linux操作系统项目化教程 作者 978-7-302-30884-3 任务5 进程管理和设置计划任务.ppt
- Linux操作系统项目化教程 作者 978-7-302-30884-3 任务6 设置Linux系统网络参数.ppt
- Linux操作系统项目化教程 作者 978-7-302-30884-3 任务7 软件的安装与卸载.ppt
- Linux操作系统项目化教程 作者 978-7-302-30884-3 任务8 配置DHCP服务器.ppt
- Linux操作系统项目化教程 作者 978-7-302-30884-3 任务10 使用NFS配置文件服务器.ppt
- Linux操作系统项目化教程 作者 978-7-302-30884-3 任务12 跨网络文件传输.ppt
文档评论(0)