Korn Shell

From Rosetta Code
Revision as of 00:22, 13 September 2011 by rosettacode>Kernigh (This shell combines Bourne Shell syntax with several more features. Show how to identify ksh93, pdksh, mksh or zsh.)
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 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 (what?), then you have mksh.
  • A zsh invoked as ksh sets ZSH_VERSION, not KSH_VERSION.

Links