热门问题
时间线
聊天
视角
KornShell
二十世纪八十年代早期在贝尔实验室开发的Unix shell 来自维基百科,自由的百科全书
Remove ads
KornShell(ksh
)是一款由大衛·科恩於二十世紀八十年代早期在貝爾實驗室開發的Unix shell,並在1983年7月14日的USENIX年度技術會議上發布。[1][2]起初此軟體基於Bourne shell的原始碼編寫。[7]其他貢獻者有貝爾實驗室的開發者,如邁克·維奇(Mike Veach)和帕特·沙利文(Pat Sullivan);他們分別編寫了Emacs和vi風格的行編輯模式代碼。[8]KornShell向後兼容Bourne shell,同時還根據貝爾實驗室用戶的需求添加了諸多C shell的功能。
Remove ads
設計
KornShell實現了POSIX.2,同時擁有殼層及實用工具、命令解釋器(IEEE Std 1003.2-1992.)。KornShell與傳統的Bourne shell的主要差別有:
歷史

KornShell起初是一款專有軟體。2000年,其原始碼以AT&T獨有的許可發布;但在2005年年初,93q版本使用Eclipse公共許可證發布。由於KornShell起初為私有授權軟體,在那時的人們創造了自由開源的替代品(pdksh、mksh、GNU bash及zsh)。 [4]KornShell被收錄進了AT&T軟體技術(AST)開源軟體集。
KornShell的原始版本(ksh88)被當做POSIX.2、殼層及實用工具、命令解釋器(IEEE Std 1003.2-1992.)的基礎。
部分供應商有時會提供其自己根據老版本ksh88改編的變體,有時還會在其基礎上添加擴展。ksh93現仍被作者維護,並通過在其後添加字母的方式命名發布版本;截至2017年1月16日[update]的最新版本為ksh93u+(ksh93u及ksh93t+的更新版);ksh93v仍處於測試階段(截至2017年1月16日[update])。[10]
作為「桌面版KornShell」(dtksh),ksh93作為通用桌面環境的一部分發布。[11]此版本同時提供了對Motif掛件的殼層級映射。它的目的是成為Tcl/Tk的競爭對手。[12]
原版KornShell(ksh88)成為了AIX第四版的默認殼層,[13][14]但同時也可使用ksh93。[15]
UnixWare 7中既包括ksh88,也包括ksh93。默認的Kornshell版本為ksh93(/usr/bin/ksh),老版本則在/usr/bin/ksh88下可用。[16]UnixWare同時在安裝了CDE的情況下提供{{mono|dtksh}。
Remove ads
變體
下列為多個與KornShel相關的軟體產品:
- dtksh – ksh93的分支,為CDE的一部分。
- tksh – ksh93的分支,提供對Tk部件工具箱的訪問。
- oksh – OpenBSD風味KornShell的Linux版分支,為DeLi Linux的默認殼層。
- mksh – KornShell語言的自由軟體實現,為pdksh的分支。其起初為MirOS BSD開發,以寬鬆的授權條款發布(MirOS許可證)。[6]除了用在BSD上外,此變體還替代了Debian上的pdksh,[17]更是Android的默認殼層。
- SKsh – AmigaOS風味的版本,提供了多個Amiga的特有功能(如ARexx互用性)
- MKS Inc.的MKS Korn shell – 來自用於UNIX的微軟Windows服務(SFU)對KornShell語言的專有實現(版本2.0及以下);據大衛·科恩所述,MKS Korn shell與1998年時的Kornshell不完全兼容。[18][19]在SFU版本3.0中,微軟使用Interix中的POSIX.2兼容版殼層替換了MKS Korn shell。[20]
- 大衛·科恩的Unix兼容包UWIN中含有KornShell。[21]
另請參閱
- 計算機殼層對比
- Unix實用程序列表
- 測試軟體
參考文獻
延伸閱讀
外部連結
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads