新聞中心
shell是一個(gè)抽象概念,shell的一切操作都在計(jì)算機(jī)內(nèi)部,負(fù)責(zé)處理人機(jī)交互,執(zhí)行腳本等,是操作系統(tǒng)能正常運(yùn)行的重要組成部分bash,ash,zsh,tcsh等是shell這個(gè)抽象概念的一種具體的實(shí)現(xiàn),都是一個(gè)程序,都能生成一個(gè)進(jìn)程對(duì)象。

bash
首先,我們回顧一下最為熟悉的一個(gè)。 GNU Bash,又名 Bourne Again Shell,它是我這些年使用過的眾多 Linux 發(fā)行版的默認(rèn)選擇。它最初發(fā)布于 1989 年,并且輕松成長為 Linux 世界中使用最廣泛的 shell,甚至常見于其他一些類 Unix 系統(tǒng)當(dāng)中。
Bash 是一個(gè)廣受贊譽(yù)的 shell,當(dāng)你通過互聯(lián)網(wǎng)尋找各種事情解決方法所需的文檔時(shí),總能夠無一例外的發(fā)現(xiàn)這些文檔都默認(rèn)你使用的是 bash shell。但 bash 也有一些缺點(diǎn)存在,如果你寫過 Bash 腳本就會(huì)發(fā)現(xiàn)我們寫的代碼總是得比真正所需要的多那么幾行。這并不是說有什么事情是它做不到的,而是說它讀寫起來并不總是那么直觀,至少是不夠優(yōu)雅。
如上所述,基于其巨大的安裝量,并且考慮到各類專業(yè)和非專業(yè)系統(tǒng)管理員已經(jīng)適應(yīng)了它的使用方式和獨(dú)特之處,至少在將來一段時(shí)間內(nèi),bash 或許會(huì)一直存在。
ksh
KornShell,或許你對(duì)這個(gè)名字并不熟悉,但是你一定知道它的調(diào)用命令 ksh。這個(gè)替代性的 shell 于 80 年代起源于貝爾實(shí)驗(yàn)室,由 David Korn 所寫。雖然最初是一個(gè)專有軟件,但是后期版本是在 Eclipse Public 許可下發(fā)布的。
ksh 的擁躉們列出了他們覺得其優(yōu)越的諸多理由,包括更好的循環(huán)語法,清晰的管道退出代碼,處理重復(fù)命令和關(guān)聯(lián)數(shù)組的更簡單的方式。它能夠模擬 vi 和 emacs 的許多行為,所以如果你是一個(gè)重度文本編輯器患者,它值得你一試。最后,我發(fā)現(xiàn)它雖然在高級(jí)腳本方面擁有不同的體驗(yàn),但在基本輸入方面與 bash 如出一轍。
tcsh
tcsh 衍生于 csh(Berkely Unix C shell),并且可以追溯到早期的 Unix 和計(jì)算機(jī)時(shí)代開始。
tcsh 最大的賣點(diǎn)在于它的腳本語言,對(duì)于熟悉 C 語言編程的人來說,看起來會(huì)非常親切。tcsh 的腳本編寫有人喜歡,有人憎惡。但是它也有其他的技術(shù)特色,包括可以為 aliases 添加參數(shù),各種可能迎合你偏好的默認(rèn)行為,包括 tab 自動(dòng)完成和將 tab 完成的工作記錄下來以備后查。
tcsh 以 BSD 許可發(fā)布。
zsh
zsh 是另外一個(gè)與 bash 和 ksh 有著相似之處的 shell。誕生于 90 年代初,zsh 支持眾多有用的新技術(shù),包括拼寫糾正、主題化、可命名的目錄快捷鍵,在多個(gè)終端中共享同一個(gè)命令歷史信息和各種相對(duì)于原來的 bash 的輕微調(diào)整。
雖然部分需要遵照 GPL 許可,但 zsh 的代碼和二進(jìn)制文件可以在一個(gè)類似 MIT 許可證的許可下進(jìn)行分發(fā); 你可以在 actual license 中查看細(xì)節(jié)。
fish
之前我訪問了 fish 的主頁,當(dāng)看到 “好了,這是一個(gè)為 90 后而生的命令行 shell” 這條略帶調(diào)侃的介紹時(shí)(fish 完成于 2005 年),我就意識(shí)到我會(huì)愛上這個(gè)交互友好的 shell 的。
fish 的作者提供了若干切換過來的理由,這些理由有點(diǎn)小幽默并且能戳中笑點(diǎn),不過還真是那么回事。這些特性包括自動(dòng)建議(“注意, Netscape Navigator 4.0 來了”,LCTT 譯注:NN4 是一個(gè)重要版本。),支持“驚人”的 256 色 VGA 調(diào)色,不過也有真正有用的特性,包括根據(jù)你機(jī)器上的 man 頁面自動(dòng)補(bǔ)全命令,清除腳本和基于 web 界面的配置方式。
fish 的許可主要基于 GPLv2,但有些部分是在其他許可下的。你可以查看資源庫來了解完整信息。
本文標(biāo)題:Linux系統(tǒng)中最受歡迎的命令行Shell
文章網(wǎng)址:http://www.5511xx.com/article/cohdohg.html


咨詢
建站咨詢
