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 的功能。
设计
KornShell实现了POSIX.2 ,同时拥有壳层及实用工具、命令解释器(IEEE Std 1003.2-1992.)。KornShell与传统的Bourne shell的主要差别有:
历史
OpenBSD 默认壳层(pdksh )的交互界面
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日 (2017-01-16 ) [update] 的最新版本为ksh93u+ (ksh93u 及ksh93t+ 的更新版);ksh93v 仍处于测试阶段(截至2017年1月16日 (2017-01-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}。
变体
下列为多个与KornShel相关的软件产品:
另请参阅
参考文献
^ 1.0 1.1 Ron Gomes. Toronto USENIX Conference Schedule (tentative) . Newsgroup : net.usenix . Jun 9, 1983 [Dec 29, 2010] . (原始内容存档 于2013-06-02).
^ 2.0 2.1 Guy Harris. csh question . Newsgroup : net.flame . Oct 10, 1983 [Dec 29, 2010] . (原始内容存档 于2013-06-02).
^ package changes from 2013-05-24 to 2013-06-01 . 14 February 2015 [10 December 2018] . (原始内容 存档于2015-02-14).
^ 4.0 4.1 Archived copy . [2018-12-10 ] . (原始内容 存档于2018-11-14).
^ Archived copy . [2010-06-10 ] . (原始内容 存档于2016-03-30).
^ 6.0 6.1 MirBSD Korn Shell . Mirbsd.org. [10 December 2018] . (原始内容存档 于2015-08-01).
^ 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.
^ 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 .
^ traditional Bourne shell family / history and development . In-ulm.de. [10 December 2018] . (原始内容存档 于2020-04-14).
^ 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).
^ 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).
^ J. Stephen Pendergrast. Desktop KornShell graphical programming . Addison-Wesley. 1995: 359 [2019-05-04 ] . ISBN 978-0-201-63375-7 . (原始内容存档 于2020-08-04).
^ Casey Cannon; Scott Trent; Carolyn Jones. Simply AIX 4.3 . Prentice Hall PTR. 1999: 21 . ISBN 978-0-13-021344-0 .
^ IBM Knowledge Center . Ibm.com. [10 December 2018] . (原始内容存档 于2019-08-09).
^ IBM Knowledge Center . Ibm.com. [10 December 2018] . (原始内容存档 于2019-08-09).
^ UNIX95 conformance . Uw714doc.sco.com. [10 December 2018] . (原始内容存档 于2020-08-02).
^ Archived copy . [2014-07-28 ] . (原始内容 存档于2014-07-28).
^ David Korn Tells All . Slashdot. [2009-10-22 ] . (原始内容存档 于2009-06-16).
^ Jerry Feldman — USENIX NT/LISA NT conference attendee . Lists.blu.org. [2009-10-22 ] . (原始内容存档 于2012-02-26).
^ Windows Services for UNIX Version 3.0 . Technet.microsoft.com. [2009-10-22 ] . (原始内容存档 于2017-08-26).
^ 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).
延伸阅读
外部链接