- Korn shell
Infobox programming language
name = Korn shell
paradigm = imperative, pipeline
year = 1982
developer = AT&T Bell Laboratories
implementations = ksh88, ksh93, dtksh, tksh,
pdksh, SKsh, MKS Korn shell
Bourne shell, C shell
zsh, Windows PowerShell
Common Public License
website =The Korn shell (ksh) is a
Unix shellwhich was developed by David Korn(AT&T Bell Laboratories) in the early 1980s. It is backwards-compatible with the Bourne shelland includes many features of the C shellas well, such as a command history, which was inspired by the requests of Bell Labs users.
The main advantage of ksh over the traditional Unix shell is in its use as a programming language. Since its conception, several features were gradually added, while maintaining strong backwards compatibility with the
The "ksh93" version supports
associative arrays and built-in floating point arithmetic.
For interactive use, ksh provides the ability to edit the command line in a
WYSIWYGfashion, by hitting the appropriate cursor-up or previous-line key-sequence to recall a previous command, and then edit the command as if the users were in edit line mode. Three modes are available, compatible with
ksh aims to respect the "Shell Language Standard" (
POSIX1003.2 "Shell and Utilities Language Committee").
Until 2000, Korn Shell remained AT&T's
proprietary software. Since then it has been open source software, originally under a license peculiar to AT&T but, since the 93q release in early 2005, it has been licensed under the Common Public License. Korn Shell is available as part of the AT&T Software Technology (AST) Open Source Software Collection. As ksh was initially only available through a commercial license from AT&T, a number of free and open source alternatives were created. These include the public domain "pdksh", the Free Software Foundation's "Bourne-Again-Shell" bash, and zsh.
Although the "ksh93" version added many improvements (
associative arrays, floating point arithmetic, etc.), some vendors still ship their own version of the older "ksh88" as
/bin/ksh, sometimes with extensions (
as of 2005only Solaris and NCR UNIX (a.k.a. MP-RAS) ship "ksh88", all other Unix vendors migrated to "ksh93" and even Linuxdistributions started shipping "ksh93").There are also two modified versions of ksh93 which add features for manipulating the graphical user interface: "dtksh" which is part of CDE and "tksh" which provides access to the Tk widget toolkit.
"SKsh" is an
AmigaOSversion, that offers several Amiga-specific features such as ARexxinteroperability. MKS Inc.'s "MKS Korn shell" is another commercial ksh reimplementation. It was included with Microsoft's Services for Unix (SFU) up to version 2.0. According to David Korn, the MKS Korn shell was not fully compatible with his own Korn shell implementation in 1998. [ [http://slashdot.org/articles/01/02/06/2030205.shtml Slashdot - David Korn Tells All] ] [ [http://www.blu.org/pipermail/discuss/1998-August/002393.html Jerry Feldman - USENIX NT/LISA NT conference attendee] ]
With the introduction of SFU Version 3.0, Microsoft has replaced the "MKS Korn shell" with a new and fully POSIX compliant Korn shell as part of the new native
Interixsubsystem technology. [ [http://technet.microsoft.com/de-de/library/bb463204(en-us).aspx Windows Services for UNIX Version 3.0 ] ] It is supported on Windows NT 4.0SP6a+, Windows 2000, Windows XPProfessional and Windows Server 2003. It is also available in the Subsystem for UNIX-based Applications(SUA) of Windows VistaEnterprise and Ultimate Editions and Windows Server 2008. [ [http://technet2.microsoft.com/WindowsServer/en/library/695ac415-d314-45df-b464-4c80ddc2b3bc1033.mspx?mfr=true Welcome to Subsystem for UNIX-based Applications ] ] [ [http://www.microsoft.com/downloadS/details.aspx?FamilyID=93ff2201-325e-487f-a398-efde5758c47f&displaylang=en Download details: Utilities and SDK for Subsystem for UNIX-based Applications in Microsoft Windows Vista SP1/Windows Server 2008 RTM ] ]
Comparison of computer shells
* [http://www.kornshell.com Korn shell home page]
* [http://www.scit.wlv.ac.uk/cgi-bin/mansec?1+ksh unix ksh man page]
* [http://www.research.att.com/~gsf/man/man1/ksh.html ksh93 man page]
* [http://www.cs.princeton.edu/~jlk/kornshell/doc/man88.html ksh88 man page]
* [http://web.cs.mun.ca/~michael/pdksh/ Public Domain Korn shell (pdksh)]
Wikimedia Foundation. 2010.