Korn shell
Paradigm | imperative, pipeline |
---|---|
Appeared in | 1982 |
Designed by | David Korn |
Developer | AT&T Bell Laboratories |
Major implementations | ksh88, ksh93, dtksh, tksh, pdksh, mksh, SKsh, MKS Korn shell |
Influenced by | Bourne shell, C shell |
Influenced | zsh, bash, Windows PowerShell |
OS | Cross-platform |
License | Common Public License |
The Korn shell (ksh) is a Unix shell which was developed by David Korn (AT&T Bell Laboratories) in the early 1980s. It is backwards-compatible with the Bourne shell and includes many features of the C shell as well, such as a command history, which was inspired by the requests of Bell Labs users.
Design
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 Bourne shell.
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 WYSIWYG fashion, 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 vi
, emacs
and gmacs
.
ksh aims to respect the Shell Language Standard (POSIX 1003.2 "Shell and Utilities Language Committee").
History
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 and its actively developed successor mksh, 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 2005[update] only Solaris and NCR UNIX (a.k.a. MP-RAS) ship ksh88, all other Unix vendors migrated to ksh93 and even Linux distributions started shipping ksh93).
Variants
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.
mksh (MirOS BSD Korn Shell) is the current, actively developed, BSD-licensed, flavour of ksh. It is a direct descendant from the OpenBSD's /bin/ksh and heir of pdksh. mksh development focuses on code portability, security fixes, UTF-8 support, and tries to avoid feature creep.[1] It is available for many unix-like operating systems[2] and is a default shell of MirBSD, FreeWRT and MidnightBSD.
SKsh is an AmigaOS version, that offers several Amiga-specific features such as ARexx interoperability.
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.[3][4]
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 Interix subsystem technology.[5] It is supported on Windows NT 4.0 SP6a+, Windows 2000, Windows XP Professional and Windows Server 2003. It is also available in the Subsystem for UNIX-based Applications (SUA) of Windows Vista Enterprise and Ultimate Editions and Windows Server 2008.[6][7]
See also
References
- ↑ "mksh development". Mirbsd.mirsolutions.de. http://mirbsd.mirsolutions.de/mksh_old.htm#contrib. Retrieved 2009-10-22.
- ↑ "mksh tested on various platforms". Mirbsd.org. http://www.mirbsd.org/mksh.htm#regress. Retrieved 2009-10-22.
- ↑ "David Korn Tells All". Slashdot. http://slashdot.org/articles/01/02/06/2030205.shtml. Retrieved 2009-10-22.
- ↑ "Jerry Feldman — USENIX NT/LISA NT conference attendee". Lists.blu.org. http://lists.blu.org/pipermail/discuss/1998-August/002393.html. Retrieved 2009-10-22.
- ↑ "Windows Services for UNIX Version 3.0". Technet.microsoft.com. http://technet.microsoft.com/de-de/library/bb463204(en-us).aspx. Retrieved 2009-10-22.
- ↑ "Welcome to Subsystem for UNIX-based Applications". Technet2.microsoft.com. 2006-03-13. http://technet2.microsoft.com/WindowsServer/en/library/695ac415-d314-45df-b464-4c80ddc2b3bc1033.mspx?mfr=true. Retrieved 2009-10-22.
- ↑ "Download details: Utilities and SDK for Subsystem for UNIX-based Applications in Microsoft Windows Vista SP1/Windows Server 2008 RTM". Microsoft.com. http://www.microsoft.com/downloadS/details.aspx?FamilyID=93ff2201-325e-487f-a398-efde5758c47f&displaylang=en. Retrieved 2009-10-22.
External links
- Korn shell home page
- ksh93 man page
- ksh88 man page (link does not work anymore)
- ksh88 man page (new link)
- Public Domain Korn shell (pdksh)
- MirBSD Korn Shell
- mksh man page
ca:Korn shell cs:Korn shell de:Korn-Shell es:Korn Shell fr:Korn shell it:Korn shell ja:Korn Shell pl:Korn shell pt:Korn Shell ru:Korn shell uk:Korn-shell zh:Korn shell
If you like SEOmastering Site, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...