网站大量收购独家精品文档,联系QQ:2885784924

第5章 Linux的Shell编程(2010-3-13).doc

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

第章 嵌入式● shell编程● shell高级编程● shell脚本的调试shell简介Shell是一种具备特殊功能的程序,它是介于使用者和 UNIX/Linux 操作系统之核心程序(kernel)间的一个接口。在UNIX系统,种Bourne shell(ATT shell,在 Linux 下是)、C shell(Berkeley shell,在 Linux 下是)和 Korn shell(Bourne shell的超集)。这种 shell 在交谈(interactive)模式下的表现相当类似,但作为命令文件语言时,在语法和执行效率上就有些不同了。 Bourne shell 是第一个有重要意义的标准的 UNIX shell V7(ATT的第七版)UNIX在1979 年底被提出,且以它的创造者 Stephen Bourne 来命名。Bourne shell 以 Algol语言为基础来设计,主要被用来做自动化系统管理工作。虽然 Bourne shell 以简单和速度而受欢迎,但它缺少许多交谈性使用的特色,例如历程、别名和工作控制。大部份的系统管理命令文件,例如 rc start、stop 与shutdown 都是Bourne shell 的命令档,且在单一使用者模式(single user mode)下以 root 签入时它常被系统管理者使用。Bourne shell 是由 ATT 发展的,以简洁、快速著名。 Bourne shell 提示符号的默认值是 $。 C shell 是在加州大学柏克来分校于70年代末期发展而成,而以2BSD UNIX的部分发行。这个 shell 主要是由 Bill Joy 写成,提供了一些在标准 Bourne shell 所看不到的额外特色在交谈式运用上改进,如命令列历程(history)、别名(alias)、内建算术、档名完成(filename completion)、和工作控制(job control)。C shell 是以C 程序语言作为基础,且它被用来当程序语言时,能共享类似的语法。因为 C shell 是在大型机器上设计出来,且增加了一些额外功能,所以 C shell在小型机器上跑得较慢,即使在大型机器上跟 Bourne shell 比起来也显得缓慢。C shell 提示符号的默认值是 %。 Korn shell 是Bourne shell 的超集(superset),由 ATT 的 David Korn 所开发。它增加了一些特色,比 C shell 更为先进。Korn shell 的特色包括了可编辑的历程、别名、函式、正规表达式万用字符(regular expression wildcard)、内建算术、工作控制(job control)、共作处理(coprocessing)、和特殊的除错功能。Bourne shell 几乎和 Korn shell 完全向上兼容(upward compatible),所以在 Bourne shell 下开发的程序仍能在 Korn shell 上执行。在 Linux 系统使用的 Korn shell 叫做 pdksh,它是指 Public Domain Korn Shell。Korn shell 提示符号的默认值也是 $。 在shell 的语法方面,Korn shell 是比较接近一般程序语言,而且它具有子程序的功能及提供较多的资料型态。至于 Bourne shell,它所拥有的资料型态是种 shell 中最少的,仅提供字符串变量和布尔型态。在整体考量下 Korn shell 是三者中表现最佳者,其次为 C shell,最后才是 Bourne shell,但是在实际使用中仍有其它应列入考虑的因素,如速度是最重要的选择时,很可能应该采用 Bourne shell,因它是最基本的 shell,执行的速度最快。 tcsh 是近几年崛起的一个免费软件(Linux 下的C shell 其实就是使用 tcsh)执行,它虽然不是UNIX 的标准配备,但是从许多地方都可以下载到它。如果是 C shell 的拥护者,不妨试试 tcsh。 Linux 下Bourne shell,是向下兼容,Bourne shell融入许多C shell 与Korn shell 的功能。1)工作控制(job contorl)。bash 支持了关于工作的讯号与指令。 2)别名功能(aliases)。alias 命令是用来为一个命令建立另一个名称,它的运作就像一个宏,展开成为它所代表的命令。别名并不会替代掉命令的名称,它只是赋予那个命令另一个名字。 3)命令历程(command history)。BASH shell 加入了C shell 所提供的命令历程功能,它以 history

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档