UNIX shell

UNIX 系统的 shell 相当多样,例如 Bourne Shell(sh)、Bourne-Again Shell(bash)、Korn Shell(ksh)、C Shell(csh)等等;以下简述常见的 UNIXshell。

Bourne Shell(sh):这是历史悠久且重要的 UNIX shell,是由贝尔实验室的研究员 Stephen Bourne 为第七版的 UNIX 所创造,这种 shell 的执行档扩展名就是 .sh。 •

Bourne-Again Shell(bash):光从名称就能猜出 bash 与 sh 是有渊源(甚至说「血缘」)。bash 是由 Brian Fox 于 1987 年为 GNU 所创造,1990 年起,Chet Ramey 成为主要的维护者。bash 是相当流行的 shell,除了是大多数 Linux 预设的 shell,在许多 UNIX-like 系统也有其踪迹(例如 Mac OS X Tiger),甚至也能通过 Cygwin 在 Windows 系统执行。

Korn Shell(ksh):是由贝尔实验室的研究员 David Korn 在 80 年代初期所创造,ksh 除了与 sh 完全兼容,也包含了若干 C Shell 的功能。

C Shell(csh):是由 Bill Joy(后来创办了Sun公司)为 BSD UNIX 系统所创造。csh 源自于第六版 UNIX 的 Thompson shell(是 Bourne Shell 的前身),因为语法类似 C 语言而得名。

由于批处理对命令列的计算机系统操作者帮助甚大,因此操作系统的命令处理器也不断加强功能,尤其加入了许多程序语言的重要元素,包括变量、循环、条件判断等等,让计算机操作不只是循序的执行命令,而能更精确的操控计算机系统的运作;这种程序设计通常称为 shell programming。因此,不论是大型主机的系统操作员,或者是整个计算机环境的系统管理员、网络管理员,shell programming 都是相当重要的技能,这项技能可以有效且快速的管理辖下的计算机。

除了上述盛行于 UNIX 环境的 shell,其它操作系统也有专属的 shell 或 shell 脚本语言,例如苹果Mac系统的 AppleScript、IBM OS/2 的 REXX(REstructured eXtended eXecutor)。而 DOS 以及早期 Windows 的 shell 则是 Command.com,但也因功能较弱,因此有 4DOS、4NT 等软件可增强功能,Windows 2000 以及之后的 Windows 则改以功能较强 cmd.exe 作为 Windows shell,并且以 Windows Script Host 作为脚本语言执行环境,大幅提高了 Windows shell 的可用性。而微软也将会推出功能更强的 Windows shell,称为 Windows PowerShell。
posted @ 2011-05-12 07:32  dzqabc  阅读(373)  评论(0编辑  收藏  举报