Linux shell学习之:unix/linux shell的发展历程

系统 Linux
本文给大家讲解了linux Shell中的Bourne shell (bsh)、Bourne Again shell ( bash)、C Shell、TC Shell(tesh)等Shell程序的概念。

学习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使用美元符($)。

【编辑推荐】

  1. NVIDIA驱动开发者称Linux驱动下载量很少
  2. Linux系统实现SCSI硬盘热插拔及在线识别步骤
  3. 轻松了解Linux打印之CUPS软件
  4. 话说在win32下安装linux虚拟机
  5. 简述两种Linux基本命令:man与reboot应用
责任编辑:薛辈辈 来源: linux
相关推荐

2009-09-29 10:45:17

UnixLinuxshell

2009-08-28 10:51:21

linux操作系统linux学习SHELL

2009-10-23 13:24:20

linux Shell

2018-04-04 08:59:22

LinuxUNIXShell

2009-10-26 13:25:05

Linux Shell

2009-12-25 09:55:18

LinuxShell编程Shell基本语法

2010-03-23 16:35:31

shell 脚本编程

2010-04-21 10:19:40

Unix Shell

2018-02-01 17:32:30

LinuxUNIXBash Shell

2011-06-03 10:00:51

2009-12-25 09:49:32

LinuxShell编程运行Shell程序

2022-03-29 09:33:34

LinuxShell命令

2020-12-15 09:08:40

LinuxShell

2012-01-18 10:46:33

ibmdw

2011-01-10 09:54:30

linuxshell

2019-12-01 22:59:43

Linux shell命令进程

2011-07-26 09:48:47

Shell快捷键grepinit

2009-10-27 15:18:45

linux脚本Shel

2011-01-07 17:33:47

linuxshell

2010-03-05 10:50:17

点赞
收藏

51CTO技术栈公众号