Wetts's blog

Stay Hungry, Stay Foolish.

0%

命令-sh、bash、ksh等的区别

大多数系统中都有三种主要的shell:Bourne shell(也叫做sh),C shell(csh)和Korn shell(ksh)。

Bourne shell

Bourne shell是Unix的第一个shell。它一直是在Unix系统上使用得最为广泛的shell,提供了一种用于脚本编程的语言以及调用其它程序的基本用户功能。Bourne shell的问题在于,相对于更为现代的shell,它的用户交互能力比较差。

C shell

C shell是另外一个在Unix系统上普遍可用的流行的shell。这个shell来自于加利佛尼亚大学伯克利分校,其创建的目的是改进Bourne shell的一些缺点并使其类似于C语言。

Korn shell

Korn shell是由David Korn创建的,它克服了Bourne shell的用户交互问题,并解决了C shell的脚本编程怪僻这一缺点。Korn shell添加了一些Bourne shell和C shell都没有的功能,综合了各种shell的长处。Korn shell惟一的缺点是它需要许可证。

bash

bash(Bourne Again Shell-Bourne shell修补后的版本)