For faster navigation, this Iframe is preloading the Wikiwand page for KornShell.

KornShell

维基百科,自由的百科全书

KornShell
Kornshell.gif
原作者大卫·科恩英语David Korn (computer scientist)
初始版本1983[1][2]
稳定版本
ksh93u+
(2013年6月1日,​9年前​(2013-06-01[3]
编程语言C
操作系统Unix
语言英语
类型Unix shell
许可协议
网站www.kornshell.org

KornShellksh)是一款由大卫·科恩英语David Korn (computer scientist)于二十世纪八十年代早期在贝尔实验室开发的Unix shell,并在1983年7月14日的USENIX年度技术会议英语USENIX Annual Technical Conference上发布。[1][2]起初此软件基于Bourne shell的源代码编写。[7]其他贡献者有贝尔实验室的开发者,如迈克·维奇(Mike Veach)和帕特·沙利文(Pat Sullivan);他们分别编写了Emacsvi风格的行编辑模式代码。[8]KornShell向后兼容Bourne shell,同时还根据贝尔实验室用户的需求添加了诸多C shell的功能。

设计

KornShell实现了POSIX.2,同时拥有壳层及实用工具、命令解释器(IEEE Std 1003.2-1992.)。KornShell与传统的Bourne shell的主要差别有:

  • 根据C shell所设计的作业控制英语Job control (Unix)命令别名命令历史特性。作业控制功能于1989年才添加至Bourne Shell。[9]
  • 提供基于viEmacsXEmacs的三种命令行编辑风格。
  • 关联数组及内置的浮点运算操作(仅在ksh93版KornShell中可用)。
  • 内置指令的动态可扩展(截至ksh93版本)。

历史

OpenBSD默认壳层(pdksh)的交互界面
OpenBSD默认壳层(pdksh)的交互界面

KornShell起初是一款专有软件。2000年,其源代码以AT&T独有的许可发布;但在2005年年初,93q版本使用Eclipse公共许可证发布。由于KornShell起初为私有授权软件,在那时的人们创造了自由开源的替代品(pdkshmkshGNU bashzsh)。 [4]KornShell被收录进了AT&T软件技术(AST)开源软件集。

KornShell的原始版本(ksh88)被当做POSIX.2、壳层及实用工具、命令解释器(IEEE Std 1003.2-1992.)的基础。

部分供应商有时会提供其自己根据老版本ksh88改编的变体,有时还会在其基础上添加扩展。ksh93现仍被作者维护,并通过在其后添加字母的方式命名发布版本;截至2017年1月16日 (2017-01-16)的最新版本为ksh93u+ksh93uksh93t+的更新版);ksh93v仍处于测试阶段(截至2017年1月16日 (2017-01-16))。[10]

作为“桌面版KornShell”(dtksh),ksh93作为通用桌面环境的一部分发布。[11]此版本同时提供了对Motif挂件的壳层级映射。它的目的是成为Tcl/Tk的竞争对手。[12]

原版KornShell(ksh88)成为了AIX第四版的默认壳层,[13][14]但同时也可使用ksh93。[15]

UnixWare英语UnixWare 7中既包括ksh88,也包括ksh93。默认的Kornshell版本为ksh93/usr/bin/ksh),老版本则在/usr/bin/ksh88下可用。[16]UnixWare同时在安装了CDE的情况下提供((mono|dtksh}。

变体

下列为多个与KornShel相关的软件产品:

  • dtksh – ksh93的分支,为CDE的一部分。
  • tksh – ksh93的分支,提供对Tk部件工具箱的访问。
  • oksh – OpenBSD风味KornShell的Linux版分支,为DeLi Linux英语DeLi Linux的默认壳层。
  • mksh – KornShell语言的自由软件实现,为pdksh的分支。其起初为MirOS BSD英语MirOS BSD开发,以宽松的授权条款发布(MirOS许可证英语MirOS Licence)。[6]除了用在BSD上外,此变体还替代了Debian上的pdksh[17]更是Android的默认壳层。
  • SKsh – AmigaOS风味的版本,提供了多个Amiga的特有功能(如ARexx英语ARexx互用性)
  • MKS Inc.英语MKS Inc.的MKS Korn shell – 来自用于UNIX的微软Windows服务英语Microsoft Windows Services for UNIX(SFU)对KornShell语言的专有实现(版本2.0及以下);据大卫·科恩所述,MKS Korn shell与1998年时的Kornshell不完全兼容。[18][19]在SFU版本3.0中,微软使用Interix英语Interix中的POSIX.2兼容版壳层替换了MKS Korn shell。[20]
  • 大卫·科恩的Unix兼容包UWIN英语UWIN中含有KornShell。[21]

另请参阅

参考文献

  1. ^ 1.0 1.1 Ron Gomes. Toronto USENIX Conference Schedule (tentative). Newsgroupnet.usenix. Jun 9, 1983 [Dec 29, 2010]. (原始内容存档于2013-06-02). 
  2. ^ 2.0 2.1 Guy Harris. csh question. Newsgroupnet.flame. Oct 10, 1983 [Dec 29, 2010]. (原始内容存档于2013-06-02). 
  3. ^ package changes from 2013-05-24 to 2013-06-01. 14 February 2015 [10 December 2018]. (原始内容存档于2015-02-14). 
  4. ^ 4.0 4.1 Archived copy. [2018-12-10]. (原始内容存档于2018-11-14). 
  5. ^ 6.0 6.1 MirBSD Korn Shell. Mirbsd.org. [10 December 2018]. (原始内容存档于2015-08-01). 
  6. ^ Korn, David G., ksh - An Extensible High Level Language, Proceedings of the USENIX 1994 Very High Level Languages Symposium (USENIX Association), October 26, 1994 [February 5, 2015], (原始内容存档于2020-08-23), Instead of inventing a new script language, we built a form entry system by modifying the Bourne shell, adding built-in commands as necessary. 
  7. ^ Bolsky, Morris I.; Korn, David G. Acknowledgements. The KornShell Command and Programming Language. Englewood Cliffs, NJ: Prentice Hall. 1989: xii. ISBN 0-13-516972-0. 
  8. ^ traditional Bourne shell family / history and development. In-ulm.de. [10 December 2018]. (原始内容存档于2020-04-14). 
  9. ^ This is the AT&T Software Technology ast software download site from AT&T Research. The AT&T AST OpenSource Software Collection provides an overview and Practical Reusable UNIX Software... Github.com. 10 December 2018 [10 December 2018]. (原始内容存档于2020-10-31). 
  10. ^ Bill Rosenblatt; Arnold Robbins. Learning the Korn Shell 2. O'Reilly Media, Inc. 2002: viii–ix [2019-05-04]. ISBN 978-0-596-00195-7. (原始内容存档于2020-08-04). 
  11. ^ J. Stephen Pendergrast. Desktop KornShell graphical programming. Addison-Wesley. 1995: 359 [2019-05-04]. ISBN 978-0-201-63375-7. (原始内容存档于2020-08-04). 
  12. ^ Casey Cannon; Scott Trent; Carolyn Jones. Simply AIX 4.3. Prentice Hall PTR. 1999: 21. ISBN 978-0-13-021344-0. 
  13. ^ IBM Knowledge Center. Ibm.com. [10 December 2018]. (原始内容存档于2019-08-09). 
  14. ^ IBM Knowledge Center. Ibm.com. [10 December 2018]. (原始内容存档于2019-08-09). 
  15. ^ UNIX95 conformance. Uw714doc.sco.com. [10 December 2018]. (原始内容存档于2020-08-02). 
  16. ^ Archived copy. [2014-07-28]. (原始内容存档于2014-07-28). 
  17. ^ David Korn Tells All. Slashdot. [2009-10-22]. (原始内容存档于2009-06-16). 
  18. ^ Jerry Feldman — USENIX NT/LISA NT conference attendee. Lists.blu.org. [2009-10-22]. (原始内容存档于2012-02-26). 
  19. ^ Windows Services for UNIX Version 3.0. Technet.microsoft.com. [2009-10-22]. (原始内容存档于2017-08-26). 
  20. ^ Anatole Olczak. The Korn shell: Unix and Linux programming manual. Addison-Wesley Professional. 2001: 4 [2019-05-04]. ISBN 978-0-201-67523-8. (原始内容存档于2020-08-04). 

延伸阅读

外部链接

{{bottomLinkPreText}} {{bottomLinkText}}
KornShell
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.