1. 命令(Command)
命令在Unix中指一个可以运行的程序。命令有简单命令,复杂命令和复合命令。复杂命令可以带有参数和选项;复合命令是多个命令的组合,中间用“;”分隔。
2. Shell
Shell是一个特殊的程序,他提供了用户与系统的接口,Shell收集用户输入,根据用户输入执行程序。所以在Unix中shell也被认识是一个解释器。
3. 各种类型的Shell
在Unix世界中,主要有两种类型的Shell:
Bourne Shell(包括sh,ksh和bash)
C Shell(包括csh和tcsh)
4. 最初的Bourne Shell
70十年的中期,由但是在新泽西AT&T贝尔实验室工作的Stephen Bourne完成。Bournce Shell是第一个出现在Unix系统上的Shell。通常安装在/bin/sh。它同时也是一个功能强大的脚本编程语言,语法类似ALGOL编程语言。Bourne Shell具有进程控制,变量,正则表达式,流程控制,强大的输入输出和函数特性。不足在于,缺少文件名自动补齐,不支持命令历史和命令编辑,执行多个后台进程和任务困难。
5. C Shell
1980早期,Bill Joy开发了C Shell,当时他还在加州大学伯克利分校。C Shell使得用户更容易的与Shell交换,另一个变化是编程风格跟像C语言。它支持命令历史,命令别名,文件名补齐和任务控制,不足在于输入输出较弱,缺少函数支持和模糊的语法。
6. Korn Shell
AT&T贝尔实验室的David Korn开发了Korn Shell.它将C Shell的优点融入到Bourne Shell中。它将命令历史和历史置换,命令别名和函数支持,文件名补齐和数组带到了Bourne shell中。
7. Bourne Again Shell
它是GNU计划的一部分,用来代替GNU系统中的sh。bash由自由软件基金的Brian Fox编写,现在由Chester Ramey维护。
Bash实现了IEEE POSIX 1003.2/ISO 9945.2 Shell和Tool规范。具有很强的可移植性。除了具有Korn Shell的优点,还有支持:
变量名,用户名,机器名,命令和文件名的自动补齐
cd命令中的路径名的拼写改正
无大小限制的数组
基于2到64的整数计算。
weihuan 于 2008-03-16 12:24:20发表:
学习中 谢谢
dzj 于 2008-02-24 00:07:23发表:
shell