Korn Shell

From Rosetta Code
Revision as of 15:39, 8 February 2014 by rosettacode>Score Under (Adding in an example version string for MKSH (on Arch Linux).)
Korn Shell is an implementation of UNIX Shell. Other implementations of UNIX Shell.

Korn Shell, or ksh, is the creation of David Korn at AT&T. This shell combines compatible with::Bourne Shell syntax with a command-line editor, command history, tilde expansion, arithmetic expressions, arrays, coprocesses and several more features. Korn Shell has influenced many later shells; Public Domain Korn Shell and Z Shell clone several features, and the X/Open and POSIX standards take a few features from Korn Shell. David Korn continues to maintain ksh93, the original implementation.

AT&T freed ksh93 during 2000, using an open-source license. For many years before that, the original Korn Shell was not free; it was only part of AT&T System V and some commercial Unix variants. Therefore, ksh in some systems is not David Korn's shell, but is some other shell, perhaps pdksh or mksh.

Which Korn Shell do I have?

Start ksh and run

<lang bash>$ echo $KSH_VERSION</lang>

  • If the output looks like Version JM 93u 2011-02-08, then you have ksh93.
  • If the output looks like @(#)PD KSH v5.2.14 99/07/13.2, then you have pdksh.
  • If the output looks like @(#)MIRBSD KSH R49 2014/01/11, then you have mksh.
  • A zsh invoked as ksh sets ZSH_VERSION, not KSH_VERSION.

Links