上面提到過,Shell是一種腳本語言,那麼,就必須有解釋器來執行這些腳本。
Unix/Linux上常見的Shell腳本解釋器有bash、sh、csh、ksh等,習慣上把它們稱做一種Shell。咱們常說有多少種Shell,其實說的是Shell腳本解釋器。linux
bash是Linux標準默認的shell,本教程也基於bash講解。bash由Brian Fox和Chet Ramey共同完成,是BourneAgain Shell的縮寫,內部命令一共有40個。
Linux使用它做爲默認的shell是由於它有諸如如下的特點:shell
sh 由Steve Bourne開發,是Bourne Shell的縮寫,sh 是Unix 標準默認的shell。bash
ash shell 是由Kenneth Almquist編寫的,Linux中佔用系統資源最少的一個小shell,它只包含24個內部命令,於是使用起來很不方便。性能
csh 是Linux比較大的內核,它由以William Joy爲表明的共計47位做者編成,共有52個內部命令。該shell實際上是指向/bin/tcsh這樣的一個shell,也就是說,csh其實就是tcsh。ui
ksh 是Korn shell的縮寫,由Eric Gisin編寫,共有42條內部命令。該shell最大的優勢是幾乎和商業發行版的ksh徹底兼容,這樣就能夠在不用花錢購買商業版本的狀況下嘗試商業版本的性能了。
注意:bash是 Bourne Again Shell 的縮寫,是linux標準的默認shell ,它基於Bourne shell,吸取了C shell和Korn shell的一些特性。bash徹底兼容sh,也就是說,用sh寫的腳本能夠不加修改的在bash中執行。教程