KornShell

来自Local Chinese Wikipedia
(重定向自Ksh
跳转到导航 跳转到搜索

页面Module:Infobox/styles.css没有内容。

KornShell
File:Kornshell.gif
原作者package.lua第80行Lua错误:module 'Module:Ilh/data' not found
首次发布1983[1][2]
当前版本ksh93u+(2013年6月1日,​13年前​(2013-06-01[3]
编程语言C
操作系统Unix
语言英语
类型Unix shell
许可协议页面Template:Plainlist/styles.css没有内容。
网站www.kornshell.org
页面Module:Infobox/styles.css没有内容。

KornShellksh)是一款由package.lua第80行Lua错误:module 'Module:Ilh/data' not found于二十世纪八十年代早期在贝尔实验室开发的Unix shell,并在1983年7月14日的package.lua第80行Lua错误:module 'Module:Ilh/data' not found上发布。[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所设计的package.lua第80行Lua错误:module 'Module:Ilh/data' not found命令别名命令历史特性。作业控制功能于1989年才添加至Bourne Shell。[9]
  • 提供基于viEmacsXEmacs的三种命令行编辑风格。
  • 关联数组及内置的浮点运算操作(仅在ksh93版KornShell中可用)。
  • 内置指令的动态可扩展(截至ksh93版本)。

历史[编辑]

File:OpenBSD ksh Interaction.png
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]

package.lua第80行Lua错误:module 'Module:Ilh/data' not found 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版分支,为package.lua第80行Lua错误:module 'Module:Ilh/data' not found的默认壳层。
  • mksh – KornShell语言的自由软件实现,为pdksh的分支。其起初为package.lua第80行Lua错误:module 'Module:Ilh/data' not found开发,以宽松的授权条款发布(package.lua第80行Lua错误:module 'Module:Ilh/data' not found)。[6]除了用在BSD上外,此变体还替代了Debian上的pdksh[17]更是Android的默认壳层。
  • SKsh – AmigaOS风味的版本,提供了多个Amiga的特有功能(如package.lua第80行Lua错误:module 'Module:Ilh/data' not found互用性)
  • package.lua第80行Lua错误:module 'Module:Ilh/data' not found的MKS Korn shell – 来自package.lua第80行Lua错误:module 'Module:Ilh/data' not found(SFU)对KornShell语言的专有实现(版本2.0及以下);据大卫·科恩所述,MKS Korn shell与1998年时的Kornshell不完全兼容。[18][19]在SFU版本3.0中,微软使用package.lua第80行Lua错误:module 'Module:Ilh/data' not found中的POSIX.2兼容版壳层替换了MKS Korn shell。[20]
  • 大卫·科恩的Unix兼容包package.lua第80行Lua错误:module 'Module:Ilh/data' not found中含有KornShell。[21]

另请参阅[编辑]

  • package.lua第80行Lua错误:module 'Module:Ilh/data' not found
  • Unix实用程序列表
  • package.lua第80行Lua错误:module 'Module:Ilh/data' not found软件

参考文献[编辑]

  1. 1.0 1.1 package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  2. 2.0 2.1 package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  3. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  4. 4.0 4.1 package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  5. 6.0 6.1 package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  6. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  7. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  8. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  9. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  10. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  11. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  12. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  13. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  14. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  15. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  16. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  17. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  18. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  19. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  20. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found

延伸阅读[编辑]

外部链接[编辑]

package.lua第80行Lua错误:module 'Module:Navbar/configuration' not found