shell的类型
在UNIX中主要有:
Bourne shell (包括 sh,ksh,and bash)
Bourne shell ( sh)
Korn shell ( ksh)
Bourne Again shell ( bash)
POSIX shell ( sh)
C shell (包括 csh and tcsh)
C shell ( csh)
TENEX/TOPS C shell ( tcsh)
Bourne Shell
首个重要的标準Unix Shell是1979年底在V7 Unix(AT&T第7版)中引入的,并且以它的创始科技部基础条件平台“国家气象网路计算套用节点建设”(2004DKA50730)资助者Stephen Bourne的名字命名。Bourne shell 是一个交换式的命令解释器和命令程式语言。Bourne shell 可以运行为login shell或者login shell的子shell(subshell)。只有login命令可以调用Bourne shell作为一个login shell。此时,shell先读取/etc/profile档案和$HOME/.profile档案。/etc/profile档案为所有的用户定製环境,$HOME/.profile档案为本用户定製环境。最后,shell会等待读取你的输入。
C Shell
Bill Joy于20世纪80年代早期,在伯克利的加利福尼亚大学开发了C shell。它主要是为了让用户更容易的使用互动式功能,并把ALGOL风格的语法结构变成了C语言风格。它新增了命令历史、别名、档案名称替换、作业控制等功能。
Korn Shell
有很长一段时间,只有两类shell供人们选择,Bourne shell用来编程,C shell用来互动。为了改变这种状况,AT&T的bell实验室David Korn开发了Korn shell。ksh结合了所有的C shell的互动式特性,并融入了Bourne shell的语法。因此,Korn shell广受用户的欢迎。它还新增了数学计算,进程协作(coprocess)、行内编辑(inline editing)等功能。Korn Shell 是一个互动式的命令解释器和命令程式语言.它符合POSIX——一个作业系统的国际标準.POSIX不是一个作业系统,而是一个目标在于应用程式的移植性的标準——在源程式一级跨越多种平台。
Bourne Again Shell (bash)
bash是GNU计画的一部分,用来替代Bourne shell。它用于基于GNU的系统如Linux.大多数的Linux(Red Hat,Slackware,Caldera)都以bash作为预设的shell,并且运行sh时,其实调用的是bash。
POSIX Shell
POSIX shell 是Korn shell的一个变种. 当前提供POSIX shell的最大卖主是Hewlett-Packard。在HP-UX 11.0,POSIX shell 就是/bin/sh,而bsh是/usr/old/bin/sh.