炼狱,是为追逐光芒
分类: LINUX
2010-12-20 14:10:19
Shell(本身就是个程序)的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive),Shell还有一种执行命令的方式称为批处理(Batch),用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令。
由于历史原因,UNIX系统上有很多种Shell:
1. sh(Bourne Shell):由Steve
Bourne开发,各种UNIX系统都配有sh。
2. csh(C Shell):由Bill Joy(软件爱迪生)开发,随BSD UNIX发布,它的流程控制语句很像C语言,支持很多Bourne
Shell所不支持的功能:作业控制,命令历史,命令行编辑。
3. ksh(Korn Shell):由David
Korn开发,向后兼容sh的功能,并且添加了csh引入的新功能,是目前很多UNIX系统标准配置的Shell,在这些系统上/bin/sh往往是指向/bin/ksh的符号链接。
4. tcsh(TENEX C Shell):是csh的增强版本,引入了命令补全等功能,在FreeBSD、Mac
OS X等系统上替代了csh。
5. bash(Bourne Again Shell):由GNU开发的Shell,主要目标是与POSIX标准保持一致,同时兼顾对sh的兼容,bash从csh和ksh借鉴了很多功能,是各种Linux发行版标准配置的Shell,在Linux系统上/bin/sh往往是指向/bin/bash的符号链接
文件/etc/shells给出了系统中所有已知(不一定已安装)的Shell,除了上面提到的Shell之外还有很多变种。
|
|