Linux操作系统 作者 孙斌 6-11 第9章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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. 管道与命令表   管道指一个命令的标准输出作为另一个命令的标准输入,不经过任何中间文件的通道。管道能在应用程序中使用。利用管道,可将信息从一个程序送到另一个程序。管道是单向的通信路径,由输出端将信息送入管道,由接收端接收。管道操作

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档