Linux shell学习之:unix/linux shell的发展历程
发布:smiling 来源: PHP粉丝网 添加日期:2014-03-07 11:03:55 浏览: 评论:0
学习linux Shell脚本编程时,你可能会遇到Shell分类的问题,这里将介绍Shell的几种分类,经过仔细整理,在这里拿出来和大家分享一下。
在UNIX/linux Shell中主要有这几类shell:
◆Bourne shell (bsh)
◆C shell ( csh)
◆Korn shell ( ksh)
◆Bourne Again shell ( bash)
◆POSIX shell ( sh)
◆TENEX/TOPS C shell ( tcsh)
◆TC Shell(tesh)
◆Z Shell(zsh)
◆Bourne Shell
首个重要的标准Unix Shell是1970年底在V7 Unix(AT&T第7版)中引入的,并且以它的创始科技部基础条件平台“国家气象网络计算应用节点建设”(2004DKA50730)资助者 Stephen Bourne的名字命名。Bourne Shell作为 编程语言是基于Algol语言的,而且主要用于系统管理任务自动化。虽然它由于简单而迅速流行,但缺乏交互式使用的许多特性,如历史、别名和作业控制。
◆C Shell
20世纪70年代末,在加利福尼亚大学Berkeley 研制的C Shell是作为BSD Unix的一部分发布的。 这种主要由Bill Joy所写的Shell提供了许多标准 Bourne Shell里不提供的附加特征。linux Shell中的C Shell是基于 C编程语言的,而且当用做编程语言时,它使用类似 C语言的语法。它也提供交互使用的增强功能,如命令行历史、别名和作业控制。因为这种Shell是在大型机上设计的,而且加入了大量附加的特征,所以跟linux Shell中的Bourne Shell相比,C Shell在小型机上有运行缓慢的趋势,甚至在大型机上也运行缓慢。
◆Korn Shell
由于Bo urne Shell和C Shell都可使用,所以现在Unix用户有了选择余地,同时也在选择Shell的问题上产生了困扰。来自AT&T的David Korn于20世纪80年代中期开发了Korn Shell,发布于1996年,并且在1998年正式成为Unix的SVR4分支的组成部分。其实linux Shell中的Bourne Shell的超集Korn Shell,不仅能在Unix系统上运行,而且能在OS/2、VMS和DOS上运行。它提供与Bourne Shell的向上兼容性,增加了许多C Shell的受欢迎的特征,而且快捷有效。AIX使用的是最为广泛使用的1998年版本的Korn Shell。
除了以上提到的3种“标准”Unix Shell外还 有许多其他的Shell也在使用,如:
◆Bourne Again Shell
Bourne Again Shell(bash)是GNU计划的一部分,用来替代Bourne Shell。它用于基于GNU 的系统(如Linux)。大多数Linux(Red Hat、Slaekware、Caldera)都以bash作为缺省的Shell,并且运行sh时,其实调用的是bash。
◆POSIX Shell
POSIX Shell是Korn Shell的一个变种。当前提供POSIX Shell的最大卖主是Hewlett—Packard公司。在HP—UX 11.0版本中,linux Shell中的POSIX Shell就是/bin/sh,而bsh是/usr/old/bin/sh。
◆TC Shell
TC Shell(tesh)是C Shell的扩充版本,并完全兼容C Shell,是那些更喜欢C语法的用户可以选择的bash的替代品。
◆Z Shell
Z Shell(zsh)组合了Bourne Ag ain Shell、TCShell和Korn Shell的许多特点,并吸收了一些新特 点。Zsh与Kom Shell最相像。
各主要操作系统下缺省的shell:
AIX 下是Korn Shell.
Solaris和FreeBSD缺省的是Bourne shell.
HP-UX缺省的是POSIX shell.
Linux是Bourne Again shell.
如何区分操作系统使用的哪种shell:
在登录进入 Unix/linux后,操作系统使用户处于自己的起始目录(home directory)下运行Shell,当前最常用的Shell有sh、esh和ksh,用户很多时候不需要知道或担心使用的是哪种Shell,可以通过观察 Shell提示符来辨别当前使用的是那种,下面是缺 省的提示符,当然也可以很容易被修改:
Bourne Shell使用美元符($);
linux Shell中的C Shell使用百分号(%);
linux Shell中的Korn Shell使用美元符($).
Tags: Linux shell unix
相关文章
- ·举例分析Linux动态库和静态库(2013-11-11)
- ·Linux开发工具和Windows开发工具对比(2013-11-11)
- ·用C++语言做Linux开发工具的一些心得(2013-11-11)
- ·用C++语言做Linux开发工具之粘合剂Makefile(2013-11-11)
- ·用C++语言做Linux开发工具之编译器和调试器选择要素(2013-11-11)
- ·用C++语言做Linux开发工具之编辑器选择要素(2013-11-11)
- ·Linux编程工具C编译器和C编程工具GDB执行步骤(2013-11-11)
- ·Linux编程工具C编译器和C编程工具介绍(1)(2013-11-11)
- ·Linux系统下完成Windows的开发环境替换(2013-11-14)
- ·Linux 开发工具推荐(2013-11-14)
- ·Linux 内存监控内存泄露和回收内存的方法(2013-11-14)
- ·Linux命令行开发实战(1)(2013-11-14)
- ·Linux系统的网络服务器配置详细解析(2013-11-23)
- ·使用SCons轻松建造自己的程序(2014-02-28)
- ·基础使用:编写Linux 桌面脚本(2014-02-28)
- ·详解Unix和Linux操作系统中Cron的用法(2014-02-28)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)