Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Features  





2 History  





3 Primary contributions to the main software branch  



3.1  Primary individual contributors  





3.2  Integration consultant  





3.3  Primary corporate contributors  





3.4  Donated corporate resources  







4 Variants  





5 See also  





6 References  





7 Further reading  





8 External links  














KornShell






Azərbaycanca
Català
Čeština
Deutsch
Ελληνικά
Español
Français

ि
Italiano
Nederlands

Norsk bokmål
Polski
Русский
Suomi
Українська

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


KornShell
Original author(s)David Korn
Initial release1983; 41 years ago (1983)[1][2]
Final release

93u+ / August 1, 2012; 11 years ago (2012-08-01)

Preview release

93v- / December 24, 2014; 9 years ago (2014-12-24)

Repositorygithub.com/att/ast
Written inC
Operating systemUnix and Unix-like (e.g. Linux and macOS; also works in Windows 10[3])
Available inEnglish
TypeUnix shell
License
  • pdksh: Public domain with some ISC-like code[5]
  • mksh: MirOS Licence[6]
  • dtksh: Eclipse Public License with some LGPL
  • Websitekornshell.com Edit this at Wikidata
    ksh2020
    Developer(s)Kurtis Rader, Siteshwar Vashisht, community
    Final release

    2020 / October 10, 2019; 4 years ago (2019-10-10)

    Repositorygithub.com/ksh2020/ksh
    Predecessor93v-
    LicenseEclipse Public License
    Websitekornshell.com Edit this on Wikidata
    ksh93u+m
    Developer(s)Martijn Dekker, Johnothan King, hyenias
    Stable release

    1.0.8 / January 1, 2024; 6 months ago (2024-01-01)

    Repositorygithub.com/ksh93/ksh
    Predecessor93u+
    LicenseEclipse Public License
    Websitekornshell.com Edit this on Wikidata

    KornShell (ksh) is a Unix shell which was developed by David KornatBell Labs in the early 1980s and announced at USENIX on July 14, 1983.[1][2] The initial development was based on Bourne shell source code.[7] Other early contributors were Bell Labs developers Mike Veach and Pat Sullivan, who wrote the Emacs and vi-style line editing modes' code, respectively.[8] KornShell is backward-compatible with the Bourne shell and includes many features of the C shell, inspired by the requests of Bell Labs users.

    Features[edit]

    KornShell complies with POSIX.2, Shell and Utilities, Command Interpreter (IEEE Std 1003.2-1992.) Major differences between KornShell and the traditional Bourne shell include:

    History[edit]

    Korn Shell running on Windows Services for UNIX

    KornShell was originally proprietary software. In 2000 the source code was released under a license particular to AT&T, but since the ksh93q release in early 2005 it has been licensed under the Eclipse Public License.[4] KornShell is available as part of the AT&T Software Technology (AST) Open Source Software Collection. As KornShell was initially only available through a proprietary license from AT&T, a number of free and open source alternatives were created. These include pdksh, mksh, Bash, and Z shell.

    The functionality of the original KornShell, ksh88, was used as a basis for the standard POSIX.2, Shell and Utilities, Command Interpreter (IEEE Std 1003.2-1992).

    Some vendors still ship their own versions of the older ksh88 variant, sometimes with extensions. ksh93 is maintained on GitHub.[10]

    As "Desktop KornShell" (dtksh), ksh93 is distributed as part of the Common Desktop Environment.[11] This version also provides shell-level mappings for Motif widgets. It was intended as a competitor to Tcl/Tk.[12]

    The original KornShell, ksh88, became the default shell on AIX in version 4,[13][14] with ksh93 being available separately.[15]

    UnixWare 7 includes both ksh88 and ksh93. The default Korn shell is ksh93, which is supplied as /usr/bin/ksh, and the older version is available as /usr/bin/ksh88.[16] UnixWare also includes dtksh when CDE is installed.

    The ksh93 distribution underwent a less stable fate after the authors left AT&T around 2012 at stable version ksh93u+. The primary authors continued working on a ksh93v- 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 ksh2020[17] in the fall of 2019. That initial release (although fixing several prior stability issues) introduced some minor breakage and compatibility issues.[18] In March 2020, AT&T decided to roll back the community changes, stash them in a branch, and restart from ksh93u+, as the changes were too broad and too ksh-focused for the company to absorb into a project in maintenance mode.[19][20] Bugfix development continues on the ksh93u+m branch, based on the last stable AT&T release (ksh93u+ 2012-08-01).[21] ksh2020 [22] was released as a "major release for several reasons"[23] such as removal of EBCDIC support, dropping support for binary plugins written for ksh93u+ and removal of some broken math functions, but has never been maintained or supported by AT&T (not even on its initial release date).

    Primary contributions to the main software branch[edit]

    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 KSH2020 in late 2019. Continuing development of follow-on versions (branches) of KSH have split into different groups starting in 2020 and are not elaborated on below.

    Primary individual contributors[edit]

    The following are listed in a roughly ascending chronological order of their contributions:

    Integration consultant[edit]

    Primary corporate contributors[edit]

    The following are listed in a roughly ascending chronological order of their contributions:

    Donated corporate resources[edit]

    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):

    Variants[edit]

    There are several forks and clones of KornShell:

    See also[edit]

    References[edit]

    1. ^ a b Ron Gomes (Jun 9, 1983). "Toronto USENIX Conference Schedule (tentative)". Newsgroupnet.usenix. Retrieved Dec 29, 2010.
  • ^ a b Guy Harris (Oct 10, 1983). "csh question". Newsgroupnet.flame. Retrieved Dec 29, 2010.
  • ^ "Korn Shell Launcher for Windows Subsystem for Linux « Musings". blog.fpmurphy.com. Retrieved 2021-01-29.
  • ^ a b "ast-open package". AT&T Research. n.d. Archived from the original on October 1, 2015. Retrieved December 19, 2022.
  • ^ a b "MirBSD Korn Shell". Mirbsd.org. Retrieved 10 December 2018.
  • ^ Korn, David G. (October 26, 1994), "ksh - An Extensible High Level Language", Proceedings of the USENIX 1994 Very High Level Languages Symposium, USENIX Association, retrieved February 5, 2015, 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. (1989). "Acknowledgements". The KornShell Command and Programming Language. Englewood Cliffs, NJ: Prentice Hall. pp. xii. ISBN 0-13-516972-0.
  • ^ "traditional Bourne shell family / history and development". In-ulm.de. Retrieved 10 December 2018.
  • ^ "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. Retrieved 10 December 2018.
  • ^ Bill Rosenblatt; Arnold Robbins (2002). Learning the Korn Shell (2 ed.). O'Reilly. pp. viii–ix. ISBN 978-0-596-00195-7.
  • ^ Pendergrast, J. Stephen (1995). Desktop KornShell graphical programming. Addison-Wesley. p. 359. ISBN 978-0-201-63375-7.
  • ^ Casey Cannon; Scott Trent; Carolyn Jones (1999). Simply AIX 4.3. Prentice Hall. p. 21. ISBN 978-0-13-021344-0.
  • ^ "IBM Knowledge Center". IBM. Retrieved 10 December 2018.
  • ^ "IBM Knowledge Center". IBM. Retrieved 10 December 2018.
  • ^ "UNIX95 conformance". Uw714doc.sco.com. Retrieved 10 December 2018.
  • ^ "ksh2020". GitHub. 26 Feb 2021.
  • ^ "ksh2020 changelog". GitHub. 29 May 2020.
  • ^ "Rewinding this repo and encouraging community · Issue #1466 · att/ast". GitHub.
  • ^ "segfault with extended globs · #1464 · att/ast". GitHub.
  • ^ "ksh 93u+m". GitHub. 17 November 2021.
  • ^ "2020.0.0: Stable release of ksh-2020.0.0". GitHub. Retrieved 2021-01-29. Note: ksh2020 is not maintained or supported
  • ^ "ksh 2020.0.0 CHANGELOG". GitHub. 2021-01-29.
  • ^ "oksh at GitHub". GitHub. 1 August 2020.
  • ^ "loksh at GitHub". GitHub. 15 October 2021.
  • ^ "5.11. The PDKSH to MKSH transition". Archived from the original on 2014-07-28. Retrieved 2014-07-28.
  • ^ "Aminet - util/Shell/SKsh21.LZH".
  • ^ "David Korn Tells All". Slashdot. Retrieved 2009-10-22.
  • ^ "Jerry Feldman — USENIX NT/LISA NT conference attendee". Lists.blu.org. 29 August 1998. Retrieved 2009-10-22.
  • ^ "Windows Services for UNIX Version 3.0". Technet.microsoft.com. Retrieved 2009-10-22.
  • ^ Anatole Olczak (2001). The Korn shell: Unix and Linux programming manual. Addison-Wesley Professional. p. 4. ISBN 978-0-201-67523-8.
  • ^ Natalie, Ron (2023-01-30). ""Job Control and other terminal fun"". From the TUHS ("The Unix Heritage Society") mailing list. Archived from the original on 2024-07-07. Retrieved 2024-07-07. ... 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&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[sic] 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[sic]. ... 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... 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.
  • Further reading[edit]

    External links[edit]


    Retrieved from "https://en.wikipedia.org/w/index.php?title=KornShell&oldid=1233596335"

    Categories: 
    Unix shells
    Cross-platform software
    Free software programmed in C
    Scripting languages
    Software that uses Meson
    Hidden categories: 
    Articles with short description
    Short description is different from Wikidata
    Webarchive template wayback links
    Articles with J9U identifiers
    Articles with LCCN identifiers
     



    This page was last edited on 9 July 2024, at 22:49 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki