KornShell(ksh)是一款由于二十世纪八十年代早期在贝尔实验室开发的Unix shell,并在1983年7月14日的上发布。其他贡献者有贝尔实验室的开发者,如迈克·维奇(Mike Veach)和帕特·沙利文(Pat Sullivan);他们分别编写了Emacs和vi风格的行编辑模式代码。KornShell向后兼容Bourne shell,同时还根据贝尔实验室用户的需求添加了诸多C shell的功能。
设计
KornShell实现了POSIX.2,同时拥有壳层及实用工具、命令解释器(IEEE Std 1003.2-1992.)。KornShell与传统的Bourne shell的主要差别有:
- 根据C shell所设计的、命令别名及命令历史特性。作业控制功能于1989年才添加至Bourne Shell。
- 提供基于vi、Emacs和XEmacs的三种命令行编辑风格。
- 关联数组及内置的浮点运算操作(仅在版KornShell中可用)。
- 内置指令的动态可扩展(截至版本)。
历史
默认壳层()的交互界面]]
KornShell起初是一款专有软件。2000年,其源代码以AT&T独有的许可发布;但在2005年年初,93q版本使用Eclipse公共许可证发布。由于KornShell起初为私有授权软件,在那时的人们创造了自由开源的替代品(、、GNU 及)。
作为“桌面版KornShell”(),作为通用桌面环境的一部分发布。此版本同时提供了对Motif挂件的壳层级映射。它的目的是成为Tcl/Tk的竞争对手。
原版KornShell()成为了AIX第四版的默认壳层,但同时也可使用ksh93。
7中既包括,也包括。默认的Kornshell版本为(),老版本则在下可用。UnixWare同时在安装了CDE的情况下提供{{mono|dtksh}。
变体
下列为多个与KornShel相关的软件产品:
- – 的分支,为CDE的一部分。
- – 的分支,提供对Tk部件工具箱的访问。
- – OpenBSD风味KornShell的Linux版分支,为的默认壳层。
- – KornShell语言的自由软件实现,为的分支。其起初为开发,以宽松的授权条款发布()。更是Android的默认壳层。
- – AmigaOS风味的版本,提供了多个Amiga的特有功能(如互用性)
- 的MKS Korn shell – 来自(SFU)对KornShell语言的专有实现(版本2.0及以下);据大卫·科恩所述,MKS Korn shell与1998年时的Kornshell不完全兼容。在SFU版本3.0中,微软使用中的POSIX.2兼容版壳层替换了MKS Korn shell。
- 大卫·科恩的Unix兼容包中含有KornShell。
另请参阅
*
- Unix实用程序列表
- 软件
参考文献
延伸阅读
*
- David G. Korn, Charles J. Northrup and Jeffery Korn [http://www.linuxjournal.com/article/1273 The New KornShell—ksh93] , , Issue 27, July 1996
外部链接
- [http://www.kornshell.com Korn shell主页(AT&T ksh)]
- [https://github.com/att/ast AT&T软件技术的(AST)GitHub页] ,其中有ksh源代码。
- [https://github.com/att/ast#mailing-lists KSH官方邮件列表] (ast-developers及ast-users)
*
*
- [https://web.archive.org/web/20040216045828/http://web.cs.mun.ca/~michael/pdksh/ Public Domain Korn shell (pdksh)]
- [http://www.mirbsd.org/mksh.htm MirBSD Korn Shell(mksh)]
*
评论 (0)