<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=KornShell</id>
	<title>KornShell - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=KornShell"/>
	<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=KornShell&amp;action=history"/>
	<updated>2026-06-11T01:30:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.sarg.dev/index.php?title=KornShell&amp;diff=11036&amp;oldid=prev</id>
		<title>imported&gt;SchlurcherBot: Bot: http → https</title>
		<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=KornShell&amp;diff=11036&amp;oldid=prev"/>
		<updated>2025-09-13T20:07:48Z</updated>

		<summary type="html">&lt;p&gt;Bot: http → https&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Bourne shell backward compatible Unix shell created by David Korn}}&lt;br /&gt;
{{Infobox software&lt;br /&gt;
| name         = KornShell&lt;br /&gt;
| screenshot   = OpenBSD ksh Interaction.png&lt;br /&gt;
| screenshot size = 250px&lt;br /&gt;
| caption      = Interaction with [[OpenBSD]]&amp;#039;s default shell, {{mono|pdksh}}&lt;br /&gt;
| author       = [[David Korn (computer scientist)|David Korn]]&lt;br /&gt;
| released     = {{Start date and age|1983}}&amp;lt;ref name=Gomes&amp;gt;{{Cite newsgroup&lt;br /&gt;
 | author      = Ron Gomes&lt;br /&gt;
 | title       = Toronto USENIX Conference Schedule (tentative)&lt;br /&gt;
 | date        = Jun 9, 1983&lt;br /&gt;
 | newsgroup   = net.usenix&lt;br /&gt;
 | url         = http://groups.google.com/group/net.usenix/msg/fa6e1f7de3b63bba?hl=en&lt;br /&gt;
 | access-date = Dec 29, 2010&lt;br /&gt;
 }}&amp;lt;/ref&amp;gt;&amp;lt;ref name=Harris&amp;gt;{{Cite newsgroup&lt;br /&gt;
 | author      = Guy Harris&lt;br /&gt;
 | title       = csh question&lt;br /&gt;
 | date        = Oct 10, 1983&lt;br /&gt;
 | newsgroup   = net.flame&lt;br /&gt;
 | url         = http://groups.google.com/group/net.flame/msg/4f868085b65af530?hl=en&lt;br /&gt;
 | access-date = Dec 29, 2010&lt;br /&gt;
 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| latest release version = 93u+&lt;br /&gt;
| latest release date    = {{start date and age|2012|08|01}}&lt;br /&gt;
| latest preview version = 93v-&lt;br /&gt;
| latest preview date    = {{start date and age|2014|12|24}}&lt;br /&gt;
| programming language   = [[C (programming language)|C]]&lt;br /&gt;
| operating system       = [[Unix]] and [[Unix-like]] (e.g. [[Linux]] and [[macOS]]; also works in [[Windows Subsystem for Linux|Windows 10]]&amp;lt;ref&amp;gt;{{Cite web|title=Korn Shell Launcher for Windows Subsystem for Linux « Musings|url=https://blog.fpmurphy.com/2016/05/korn-shell-launcher-for-windows-subsystem-for-linux-2.html|access-date=2021-01-29|website=blog.fpmurphy.com}}&amp;lt;/ref&amp;gt;)&lt;br /&gt;
| platform               =&lt;br /&gt;
| language               = English&lt;br /&gt;
| genre                  = [[Unix shell]]&lt;br /&gt;
| license                = {{plainlist|&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;AT&amp;amp;T KornShell&amp;#039;&amp;#039;&amp;#039;: [[Eclipse Public License]]&amp;lt;ref name=&amp;quot;ksh93epl&amp;quot;&amp;gt;{{cite web |url=http://www2.research.att.com/~astopen/download/gen/ast-open.html |archive-url=https://web.archive.org/web/20151001051730/http://www2.research.att.com/~astopen/download/gen/ast-open.html |archive-date=October 1, 2015 |title=ast-open package |author=&amp;lt;!--Not stated--&amp;gt; |date=n.d. |publisher=AT&amp;amp;T Research |access-date=December 19, 2022}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;pdksh&amp;#039;&amp;#039;&amp;#039;: [[public domain software|Public domain]] with some [[ISC License|ISC]]-like code&amp;lt;ref name=&amp;quot;pdksh_LEGAL&amp;quot;&amp;gt;{{cite web |url=http://www.cs.mun.ca/~michael/pdksh/LEGAL |title=LEGAL |access-date=2010-06-10 |url-status=dead |archive-url=https://web.archive.org/web/20120206143309/http://www.cs.mun.ca/~michael/pdksh/LEGAL |archive-date=2012-02-06 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;mksh&amp;#039;&amp;#039;&amp;#039;: [[MirOS Licence]]&amp;lt;ref name=&amp;quot;mkshlicense&amp;quot;&amp;gt;{{cite web|url=https://www.mirbsd.org/mksh.htm|title=MirBSD Korn Shell|website=Mirbsd.org|access-date=10 December 2018}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;dtksh&amp;#039;&amp;#039;&amp;#039;: [[Eclipse Public License]] with some [[LGPL]]&lt;br /&gt;
  }}&lt;br /&gt;
| website                = {{Official URL}}&lt;br /&gt;
| repo                   = {{URL|github.com/att/ast}}&lt;br /&gt;
| discontinued           = yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox software&lt;br /&gt;
| name                   = ksh2020&lt;br /&gt;
| developer              = Kurtis Rader, Siteshwar Vashisht, community&lt;br /&gt;
| latest release version = 2020&lt;br /&gt;
| latest release date    = {{Start date and age|2019|10|10}}&lt;br /&gt;
| repo                   = {{URL|github.com/ksh2020/ksh}}&lt;br /&gt;
| discontinued           = yes&lt;br /&gt;
| replaces               = 93v-&lt;br /&gt;
| license                = [[Eclipse Public License]]&lt;br /&gt;
| website                =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox software&lt;br /&gt;
| name = ksh93u+m&lt;br /&gt;
| developer = Martijn Dekker, Johnothan King, hyenias&lt;br /&gt;
| latest release version = 1.0.10&lt;br /&gt;
| latest release date = {{Start date and age|2024|08|02}}&lt;br /&gt;
| repo = {{URL|github.com/ksh93/ksh}}&lt;br /&gt;
| website = {{URL|github.com/ksh93/ksh/wiki}}&lt;br /&gt;
| discontinued = no&lt;br /&gt;
| replaces = 93u+&lt;br /&gt;
| license = [[Eclipse Public License]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;KornShell&amp;lt;!-- sic! --&amp;gt;&amp;#039;&amp;#039;&amp;#039; (&amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;ksh&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt;) is a [[Unix shell]] which was developed by [[David Korn (computer scientist)|David Korn]] at [[Bell Labs]] in the early 1980s and announced at [[USENIX Annual Technical Conference|USENIX]] on July 14, 1983.&amp;lt;ref name=Gomes/&amp;gt;&amp;lt;ref name=Harris/&amp;gt;  The initial development was based on [[Bourne shell]] source code.&amp;lt;ref&amp;gt;&lt;br /&gt;
{{citation&lt;br /&gt;
| title = ksh - An Extensible High Level Language&lt;br /&gt;
| last = Korn&lt;br /&gt;
| first = David G.&lt;br /&gt;
| publisher = USENIX Association&lt;br /&gt;
| journal=Proceedings of the USENIX 1994 Very High Level Languages Symposium&lt;br /&gt;
| date = October 26, 1994&lt;br /&gt;
| url = https://www.usenix.org/legacy/publications/library/proceedings/vhll/full_papers/korn.ksh.a&lt;br /&gt;
| quote = Instead of inventing a new script  language,  we  built  a  form  entry system  by  modifying  the  Bourne  shell,  adding  built-in commands as necessary.&lt;br /&gt;
| access-date = February 5, 2015&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;  Other early contributors were Bell Labs developers Mike Veach and Pat Sullivan, who wrote the [[Emacs]] and [[Vi (text editor)|vi]]-style line editing modes&amp;#039; code, respectively.&amp;lt;ref&amp;gt;{{Cite book&lt;br /&gt;
  | last1 = Bolsky&lt;br /&gt;
  | first1 = Morris I.&lt;br /&gt;
  | last2 = Korn&lt;br /&gt;
  | first2 = David G.&lt;br /&gt;
  | title = The KornShell Command and Programming Language&lt;br /&gt;
  | publisher = Prentice Hall&lt;br /&gt;
  | year = 1989&lt;br /&gt;
  | location = Englewood Cliffs, NJ&lt;br /&gt;
  | chapter = Acknowledgements&lt;br /&gt;
  | pages = xii&lt;br /&gt;
  | url = https://archive.org/details/kornshellcommand00bols&lt;br /&gt;
  | isbn = 0-13-516972-0&lt;br /&gt;
  }}&amp;lt;/ref&amp;gt; KornShell is backward-compatible with the Bourne shell and includes many features of the [[C shell]], inspired by the requests of Bell Labs users.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
KornShell complies with [[POSIX#POSIX.2|POSIX.2]], Shell and Utilities, Command Interpreter (IEEE Std 1003.2-1992.)  Major differences between KornShell and the traditional Bourne shell include:&lt;br /&gt;
* [[Job control (Unix)|job control]], [[alias (command)|command aliasing]], and [[command history]] designed after the corresponding [[C shell]] features; job control was added to the Bourne Shell in 1989&amp;lt;ref&amp;gt;{{cite web|url=https://www.in-ulm.de/~mascheck/bourne/|title=traditional Bourne shell family / history and development|website=In-ulm.de|access-date=10 December 2018}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* a choice of three command line editing styles based on [[Vi (text editor)|vi]], [[Emacs]], and [[Gosling Emacs]]&lt;br /&gt;
* [[associative array]]s and built-in [[floating-point arithmetic]] operations (only available in the {{mono|ksh93}} version of KornShell)&lt;br /&gt;
* dynamic search for functions&lt;br /&gt;
* mathematical functions&lt;br /&gt;
* process substitution and process redirection&lt;br /&gt;
* C-language-like expressions&lt;br /&gt;
* enhanced expression-oriented {{mono|for}} and {{mono|while}} loops&lt;br /&gt;
* dynamic extensibility of (dynamically loaded) built-in commands (since {{mono|ksh93}})&lt;br /&gt;
* reference variables&lt;br /&gt;
* hierarchically nested variables&lt;br /&gt;
* variables can have member functions associated with them&lt;br /&gt;
* object-oriented-programming (since {{mono|ksh93t}})&lt;br /&gt;
** variables can be objects with member (sub-)variables and member methods&lt;br /&gt;
** object methods are called with the object variable name followed (after a dot character) by the method name&lt;br /&gt;
** special object methods are called on: object initialization or assignment, object abandonment ({{mono|unset}})&lt;br /&gt;
** composition and aggregation is available, as well as a form of inheritance&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
[[File:Korn Shell running on SUA.png|thumb|Korn Shell running on [[Windows Services for UNIX]]]]&lt;br /&gt;
KornShell was originally [[proprietary software]]. In 2000 the source code was released under a license particular to AT&amp;amp;T, but since the &amp;#039;&amp;#039;&amp;#039;ksh93q&amp;#039;&amp;#039;&amp;#039; release in early 2005 it has been licensed under the [[Eclipse Public License]].&amp;lt;ref name=&amp;quot;ksh93epl&amp;quot; /&amp;gt; KornShell is available as part of the AT&amp;amp;T Software Technology (AST) Open Source Software Collection. As KornShell was initially only available through a proprietary license from AT&amp;amp;T, a number of free and open source alternatives were created. These include {{mono|pdksh}}, {{mono|mksh}}, [[Bash (Unix shell)|Bash]], and [[Z shell]].&lt;br /&gt;
&lt;br /&gt;
The functionality of the original KornShell, {{mono|ksh88}}, was used as a basis for the standard [[POSIX#POSIX.2|POSIX.2]], Shell and Utilities, Command Interpreter (IEEE Std 1003.2-1992).&lt;br /&gt;
&lt;br /&gt;
Some vendors still ship their own versions of the older {{mono|ksh88}} variant, sometimes with extensions. {{mono|ksh93}} is maintained on [[GitHub]].&amp;lt;ref&amp;gt;{{cite web|url=https://github.com/att/ast|title=This is the AT&amp;amp;T Software Technology ast software download site from AT&amp;amp;T Research. The AT&amp;amp;T AST OpenSource Software Collection provides an overview and Practical Reusable UNIX Software..|date=10 December 2018|access-date=10 December 2018|website=Github.com}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As &amp;quot;Desktop KornShell&amp;quot; ({{mono|dtksh}}), {{mono|ksh93}} is distributed as part of the [[Common Desktop Environment]].&amp;lt;ref name=&amp;quot;RosenblattRobbins2002&amp;quot;&amp;gt;{{cite book|author1=Bill Rosenblatt|author2=Arnold Robbins|title=Learning the Korn Shell|url=https://books.google.com/books?id=5nMCY272chUC&amp;amp;pg=PR8|year=2002|publisher=O&amp;#039;Reilly |isbn=978-0-596-00195-7|pages=viii–ix|edition=2}}&amp;lt;/ref&amp;gt; This version also provides shell-level mappings for [[Motif (software)|Motif]] widgets. It was intended as a competitor to [[Tcl]]/[[Tk (software)|Tk]].&amp;lt;ref name=&amp;quot;Pendergrast1995&amp;quot;&amp;gt;{{cite book|first=J. Stephen |last=Pendergrast|title=Desktop KornShell graphical programming|url=https://books.google.com/books?id=O6xQAAAAMAAJ|year=1995|publisher=Addison-Wesley|isbn=978-0-201-63375-7|page=359}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The original KornShell, {{mono|ksh88}}, became the default shell on [[AIX]] in version 4,&amp;lt;ref name=&amp;quot;CannonTrent1999&amp;quot;&amp;gt;{{cite book|author1=Casey Cannon|author2=Scott Trent|author3=Carolyn Jones|title=Simply AIX 4.3|year=1999|publisher=Prentice Hall |isbn=978-0-13-021344-0|page=21}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=https://www.ibm.com/support/knowledgecenter/ssw_aix_61/eos/eos.htm?origURL=api/redirect/aix/v6r1/topic/com.ibm.aix.cmds/doc/aixcmds5/sh.htm|title=IBM Knowledge Center|publisher=IBM|access-date=10 December 2018}}&amp;lt;/ref&amp;gt; with ksh93 being available separately.&amp;lt;ref&amp;gt;{{cite web|url=https://www.ibm.com/support/knowledgecenter/ssw_aix_61/eos/eos.htm?origURL=api/redirect/aix/v6r1/topic/com.ibm.aix.baseadmn/doc/baseadmndita/korn_shell_enhanced.htm|title=IBM Knowledge Center|publisher=IBM|access-date=10 December 2018}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[UnixWare]] 7 includes both {{mono|ksh88}} and {{mono|ksh93}}. The default Korn shell is {{mono|ksh93}}, which is supplied as {{mono|/usr/bin/ksh}}, and the older version is available as {{mono|/usr/bin/ksh88}}.&amp;lt;ref name=&amp;quot;UW714doc&amp;quot;&amp;gt;{{cite web|url=http://uw714doc.sco.com/en/DIFFS/UNIX95_Conformance.html#ksh-93_vs_ksh-88|title=UNIX95 conformance|website=Uw714doc.sco.com|access-date=10 December 2018}}&amp;lt;/ref&amp;gt; UnixWare also includes {{mono|dtksh}} when [[Common Desktop Environment|CDE]] is installed.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;ksh93&amp;#039;&amp;#039;&amp;#039; distribution underwent a less stable fate after the authors left AT&amp;amp;T around 2012 at stable version &amp;#039;&amp;#039;&amp;#039;ksh93u+&amp;#039;&amp;#039;&amp;#039;. The primary authors continued working on a &amp;#039;&amp;#039;&amp;#039;ksh93v-&amp;#039;&amp;#039;&amp;#039; beta branch until around 2014. That work was eventually taken up primarily by [[Red Hat]] in 2017 (due to customer requests) and resulted in the eventual initial release of &amp;#039;&amp;#039;&amp;#039;ksh2020&amp;#039;&amp;#039;&amp;#039;&amp;lt;ref name=&amp;quot;ksh2020&amp;quot;&amp;gt;{{cite web |title=ksh2020 |url=https://github.com/ksh2020/ksh |website=GitHub |date=26 Feb 2021 |language=en}}&amp;lt;/ref&amp;gt; in the fall of 2019. That initial release (although fixing several prior stability issues) introduced breakage and compatibility issues.&amp;lt;ref&amp;gt;{{cite web |title=ksh2020 changelog |url=https://github.com/att/ast/blob/ksh2020/CHANGELOG.md |website=GitHub |date=29 May 2020 |language=en}}&amp;lt;/ref&amp;gt; In March 2020, AT&amp;amp;T decided to roll back the community changes, stash them in a branch, and restart from &amp;#039;&amp;#039;&amp;#039;ksh93u+&amp;#039;&amp;#039;&amp;#039;, as the changes were too broad and too ksh-focused for the company to absorb into a project in maintenance mode.&amp;lt;ref&amp;gt;{{cite web |title=Rewinding this repo and encouraging community · Issue #1466 · att/ast |url=https://github.com/att/ast/issues/1466 |website=GitHub |language=en}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web |title= segfault with extended globs · #1464 · att/ast |url=https://github.com/att/ast/issues/1464#issuecomment-581159703 |website=GitHub |language=en}}&amp;lt;/ref&amp;gt; &amp;#039;&amp;#039;&amp;#039;ksh2020&amp;#039;&amp;#039;&amp;#039; &amp;lt;ref&amp;gt;{{Cite web|title= 2020.0.0: Stable release of ksh-2020.0.0 |url=https://github.com/att/ast/releases/tag/2020.0.0|access-date=2021-01-29|quote=Note: ksh2020 is not maintained or supported|website=GitHub|language=en}}&amp;lt;/ref&amp;gt; was released as a &amp;quot;major release for several reasons&amp;quot;&amp;lt;ref&amp;gt;{{Cite web|title=ksh 2020.0.0 CHANGELOG|url=https://github.com/att/ast/blob/2020.0.0/CHANGELOG.md |date=2021-01-29|website=GitHub|language=en}}&amp;lt;/ref&amp;gt; such as removal of [[EBCDIC]] support, dropping support for binary plugins written for &amp;#039;&amp;#039;&amp;#039;ksh93u+&amp;#039;&amp;#039;&amp;#039; and removal of some broken math functions, but has never been maintained or supported by AT&amp;amp;T (not even on its initial release date). The &amp;#039;&amp;#039;&amp;#039;ksh2020&amp;#039;&amp;#039;&amp;#039; source code has received no commits since February 2020 and it was archived read only in October 2021.&amp;lt;ref name=&amp;quot;ksh2020&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Following the issues with the &amp;#039;&amp;#039;&amp;#039;ksh2020&amp;#039;&amp;#039;&amp;#039; branch and its abandonment, a new repository was created in May 2020 for the &amp;#039;&amp;#039;&amp;#039;ksh93u+m&amp;#039;&amp;#039;&amp;#039; branch, based on the last stable AT&amp;amp;T release (&amp;#039;&amp;#039;&amp;#039;ksh93u+&amp;#039;&amp;#039;&amp;#039; 2012-08-01) where bugfix development actively continues.&amp;lt;ref&amp;gt;{{cite web |title=ksh &amp;#039;&amp;#039;&amp;#039;93u+m&amp;#039;&amp;#039;&amp;#039; |url=https://github.com/ksh93/ksh |website=GitHub|date=17 November 2021 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Primary contributions to the main software branch==&lt;br /&gt;
For the purposes of the lists below, the main software branch of KSH is defined as the original program, dating from July 1983, up and through the release of &amp;#039;&amp;#039;&amp;#039;KSH2020&amp;#039;&amp;#039;&amp;#039; in late 2019.&lt;br /&gt;
Continuing development of follow-on versions (branches) of KSH have split into different groups starting in 2020 and are not elaborated on below.&lt;br /&gt;
&lt;br /&gt;
===Primary individual contributors===&lt;br /&gt;
The following are listed in a roughly ascending chronological order of their contributions:&lt;br /&gt;
* [[David Korn (computer scientist)|David G. Korn]] (AT&amp;amp;T Bell Laboratories, AT&amp;amp;T Laboratories, and Google; and creator)&lt;br /&gt;
* Glenn S. Fowler (AT&amp;amp;T Bell Laboratories, AT&amp;amp;T Laboratories)&lt;br /&gt;
* Kiem-Phong Vo (AT&amp;amp;T Bell Laboratories, AT&amp;amp;T Laboratories)&lt;br /&gt;
* Adam Edgar (AT&amp;amp;T Bell Laboratories)&lt;br /&gt;
* Michael T. Veach (AT&amp;amp;T Bell Laboratories)&lt;br /&gt;
* Patrick D. Sullivan (AT&amp;amp;T Bell Laboratories)&lt;br /&gt;
* Matthijs N. Melchior (AT&amp;amp;T Network Systems International)&lt;br /&gt;
* Karsten-Fleischer (Omnium Software Engineering)&lt;br /&gt;
* Boyer-Moore&lt;br /&gt;
* Siteshwar Vashisht (Red Hat)&lt;br /&gt;
* Kurtis Rader&lt;br /&gt;
&lt;br /&gt;
===Integration consultant===&lt;br /&gt;
* Roland Mainz&lt;br /&gt;
&lt;br /&gt;
===Primary corporate contributors===&lt;br /&gt;
The following are listed in a roughly ascending chronological order of their contributions:&lt;br /&gt;
* [[AT&amp;amp;T Bell Laboratories]]&lt;br /&gt;
* [[AT&amp;amp;T|AT&amp;amp;T Network Systems International]]&lt;br /&gt;
* [[AT&amp;amp;T Labs|AT&amp;amp;T Laboratories (now AT&amp;amp;T Labs)]]&lt;br /&gt;
* [[Omnium Software Engineering]]&lt;br /&gt;
* [[Oracle Corporation]]&lt;br /&gt;
* [[Google]]&lt;br /&gt;
* [[Red Hat]]&lt;br /&gt;
&lt;br /&gt;
===Donated corporate resources===&lt;br /&gt;
Besides the primary major contributing corporations (listed above), some companies have contributed free resources to the development of KSH. These are listed below (alphabetically ordered):&lt;br /&gt;
* [[Coverity]]&lt;br /&gt;
* [[GitHub]]&lt;br /&gt;
* [[Travis CI]]&lt;br /&gt;
&lt;br /&gt;
==Variants==&lt;br /&gt;
There are several [[Fork (software development)|forks]] and [[Clone (computing)#Software|clones]] of KornShell:&lt;br /&gt;
* {{mono|dtksh}}&amp;amp;nbsp;– a fork of {{mono|ksh93}} included as part of [[Common Desktop Environment|CDE]].&lt;br /&gt;
* {{mono|tksh}}&amp;amp;nbsp;– a fork of {{mono|ksh93}} that provides access to the [[Tk (software)|Tk]] [[widget toolkit]].&lt;br /&gt;
* {{mono|oksh}}&amp;amp;nbsp;– a port of [[OpenBSD]]&amp;#039;s variant of KornShell, intended to be maximally portable&amp;lt;ref&amp;gt;{{cite web |title=oksh at GitHub|url=https://github.com/ibara/oksh/blob/master/README.md |website=GitHub |date=1 August 2020 |language=en}}&amp;lt;/ref&amp;gt; across operating systems. It was used as the default shell in [[DeLi Linux]] 7.2.&lt;br /&gt;
* {{mono|loksh}}&amp;amp;nbsp;– a [[Linux]] port of [[OpenBSD]]&amp;#039;s variant of KornShell, with minimal changes.&amp;lt;ref&amp;gt;{{cite web |title=loksh at GitHub|url=https://github.com/dimkr/loksh/blob/master/README.md |website=GitHub |date=15 October 2021 |language=en}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* {{mono|mksh}}&amp;amp;nbsp;– a [[Free software|free]] implementation of the KornShell language, forked from OpenBSD {{mono|pdksh}}. It was originally developed for [[MirOS BSD]] and is licensed under [[Permissive free software licence|permissive]] (though not public domain) terms; specifically, the [[MirOS Licence]].&amp;lt;ref name=&amp;quot;mkshlicense&amp;quot; /&amp;gt; In addition to its usage on BSD, this variant has replaced {{mono|pdksh}} on Debian,&amp;lt;ref name=&amp;quot;debmksh&amp;quot;&amp;gt;{{Cite web |url=https://people.debian.org/~spaillard/Debian_Release_Notes/mksh.html |title=5.11. The PDKSH to MKSH transition |access-date=2014-07-28 |archive-url=https://web.archive.org/web/20140728110151/https://people.debian.org/~spaillard/Debian_Release_Notes/mksh.html |archive-date=2014-07-28 |url-status=dead }}&amp;lt;/ref&amp;gt; and is the default shell on Android.&amp;lt;ref&amp;gt;{{Cite web |title=Android&amp;#039;s shell and utilities |url=https://android.googlesource.com/platform/system/core/+/master/shell_and_utilities/README.md |access-date=2025-06-27 |website=android.googlesource.com}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* {{mono|SKsh}}&amp;amp;nbsp;– an [[AmigaOS]] variant that provides several Amiga-specific features, such as [[ARexx]] interoperability.&amp;lt;ref&amp;gt;{{Cite web|url=https://aminet.net/package/util/shell/SKsh21|title = Aminet - util/Shell/SKsh21.LZH}}&amp;lt;/ref&amp;gt; In this tradition [[MorphOS]] uses {{mono|pdksh}} in its SDK.&lt;br /&gt;
* [[MKS Inc.]]&amp;#039;s MKS Korn shell&amp;amp;nbsp;– a proprietary implementation of the KornShell language from [[Microsoft Windows Services for UNIX]] (SFU) up to version 2.0; according to David Korn, the MKS Korn shell was not fully compatible with KornShell in 1998.&amp;lt;ref&amp;gt;{{cite web|url=https://slashdot.org/articles/01/02/06/2030205.shtml |title=David Korn Tells All |date=7 February 2001 |publisher=Slashdot |access-date=2009-10-22}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=https://lists.blu.org/pipermail/discuss/1998-August/002393.html |title=Jerry Feldman&amp;amp;nbsp;— USENIX NT/LISA NT conference attendee |date=29 August 1998 |publisher=Lists.blu.org |access-date=2009-10-22}}&amp;lt;/ref&amp;gt; In SFU version 3.0 [[Microsoft]] replaced the MKS Korn shell with a new POSIX.2-compliant shell as part of [[Interix]].&amp;lt;ref&amp;gt;{{cite web|url=https://technet.microsoft.com/de-de/library/bb463204(en-us).aspx |title=Windows Services for UNIX Version 3.0 |date=5 December 2007 |publisher=Technet.microsoft.com |access-date=2009-10-22}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* KornShell is included in [[UWIN]], a Unix compatibility package by David Korn.&amp;lt;ref name=&amp;quot;Olczak2001&amp;quot;&amp;gt;{{cite book|author=Anatole Olczak|title=The Korn shell: Unix and Linux programming manual|url=https://books.google.com/books?id=dCIJv94vXUMC&amp;amp;pg=PA4|year=2001|publisher=Addison-Wesley Professional|isbn=978-0-201-67523-8|pages=4}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* {{mono|/bin/sh}} in Doug Gwyn&amp;#039;s (US Army BRL) System V on BSD package included Ron Natalie&amp;#039;s version of the SVR2 {{mono|/bin/sh}} that had both job control and command line editing. This was a contemporary of the original {{mono|ksh}} at a time when it had not escaped AT&amp;amp;T. This was subsequently the {{mono|/bin/sh}} that shipped with all the CMU Mach-derived systems.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  | url=https://tuhs.org/mailman3/hyperkitty/list/tuhs@tuhs.org/thread/L6YV554T3DNXIKKUPKX2UFC473TT7B6E/&lt;br /&gt;
  | url-status=live&lt;br /&gt;
  | title=&amp;quot;Job Control and other terminal fun&amp;quot;&lt;br /&gt;
  | first=Ron&lt;br /&gt;
  | last=Natalie&lt;br /&gt;
  | date=2023-01-30&lt;br /&gt;
  | others=From the TUHS (&amp;quot;The Unix Heritage Society&amp;quot;) mailing list&lt;br /&gt;
  | quote=...&amp;amp;nbsp;The Berkeley job control was an interesting hack. For us at BRL the problem was I absolutely detested the C shell syntax. The Korn shell hadn’t escaped from AT&amp;amp;T yet, so, I spent time figuring out how that really worked in the C shell (not really well documented), mostly by inspection, and then reimplemented it in the Bourne Shell (we were using the System V source code version for that). I still couldn’t get traction at BRL for using the Bourne shell because by that time, tcsh had come out with command line editing. So back to the shell sources I went. By this time, 5R2 had come out so I grabbed the shell source form[&amp;#039;&amp;#039;sic&amp;#039;&amp;#039;] that. [...] I reworked emacs-ish command line editing into the shell. Subsequently, I had a nice conversation with David Korn at USENIX, being probably at that point the two most familiar with Bourne shell job control internals. I also sat down with the guys writing either bash or the pdksh (can’t remember which) and explained all how this work[&amp;#039;&amp;#039;sic&amp;#039;&amp;#039;].&amp;amp;nbsp;...&amp;amp;nbsp;Years later I,  had left the BRL, spent three years as a Rutgers administrator and was working for a small startup in Virginia. There was a MIPS workstation there. I was slogging along using ed...&amp;amp;nbsp;Not thinking about it, I attempted to retrieve a backgrounded job by typing “fg.” To my surprise the shell printed “Job control not enabled.” Hmm, I say. That sounds like my error message. “set -J” I type. “Job control enabled.” Hey! This is my shell. Turns out Doug Gwyn put my mods into his “System V on BSD” distribution tape and it had made its way into the Mach code base and so every Mach-derived system ended up with it. &lt;br /&gt;
  | access-date=2024-07-07&lt;br /&gt;
  | archive-url=https://web.archive.org/web/20240707205154/https://www.tuhs.org/mailman3/hyperkitty/list/tuhs@tuhs.org/thread/L6YV554T3DNXIKKUPKX2UFC473TT7B6E/&lt;br /&gt;
  | archive-date=2024-07-07&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
{{Portal|Free and open-source software}}&lt;br /&gt;
* [[Comparison of computer shells]]&lt;br /&gt;
* [[List of Unix commands]]&lt;br /&gt;
* [[test (Unix)]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{Reflist|30em}}&lt;br /&gt;
&lt;br /&gt;
==Further reading==&lt;br /&gt;
* {{cite book|author1=Morris I. Bolsky|author2=David G. Korn|title=The new KornShell command and programming language|year=1995|publisher=Prentice Hall PTR|isbn=978-0-13-182700-4|url=https://archive.org/details/newkornshellcomm00bols}}&lt;br /&gt;
* {{cite journal&lt;br /&gt;
|author1=David G. Korn&lt;br /&gt;
|author2=Charles J. Northrup&lt;br /&gt;
|author3=Jeffery Korn&lt;br /&gt;
|url=http://www.linuxjournal.com/article/1273&lt;br /&gt;
|url-status=live&lt;br /&gt;
|title=The New KornShell—ksh93&lt;br /&gt;
|journal=[[Linux Journal]]&lt;br /&gt;
|number=27&lt;br /&gt;
|date=July 1996&lt;br /&gt;
|archive-date=2015-10-11&lt;br /&gt;
|archive-url=https://archive.today/20151011155538/http://www.linuxjournal.com/article/1273&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* {{webarchive |url=https://web.archive.org/20130605160033/http://www.research.att.com/~gsf/man/man1/ksh.html |date=June 5, 2013 |title=ksh93 man page }}&lt;br /&gt;
* {{webarchive |url=https://web.archive.org/20151105130220/http://www2.research.att.com/sw/download/man/man1/ksh88.html |date=November 5, 2015 |title = ksh88 man page}}&lt;br /&gt;
* {{webarchive |url=https://web.archive.org/20161021105605/http://web.cs.mun.ca/~michael/pdksh/ |date=October 21, 2016 |title=Public Domain Korn shell (pdksh)}}&lt;br /&gt;
* [http://www.mirbsd.org/mksh.htm MirBSD Korn Shell (mksh)]&lt;br /&gt;
* {{man|1|mksh|MirOS BSD}}&lt;br /&gt;
&lt;br /&gt;
{{Unix shells}}&lt;br /&gt;
{{Authority control}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Cross-platform software]]&lt;br /&gt;
[[Category:Free software programmed in C]]&lt;br /&gt;
[[Category:Scripting languages]]&lt;br /&gt;
[[Category:Software that uses Meson]]&lt;br /&gt;
[[Category:Unix shells]]&lt;/div&gt;</summary>
		<author><name>imported&gt;SchlurcherBot</name></author>
	</entry>
</feed>