Korn Shell: Difference between revisions
m (Korn Shell is derived from and compatible with Bourne Shell.) |
(Adding in an example version string for MKSH (on Arch Linux).) |
||
Line 11: | Line 11: | ||
* If the output looks like <code style="background: yellow;">Version JM 93u 2011-02-08</code>, then you have ''[[ksh93]]''. |
* If the output looks like <code style="background: yellow;">Version JM 93u 2011-02-08</code>, then you have ''[[ksh93]]''. |
||
* If the output looks like <code style="background: yellow;">@(#)PD KSH v5.2.14 99/07/13.2</code>, then you have ''[[pdksh]]''. |
* If the output looks like <code style="background: yellow;">@(#)PD KSH v5.2.14 99/07/13.2</code>, then you have ''[[pdksh]]''. |
||
* If the output looks like ( |
* If the output looks like <code style="background: yellow;">@(#)MIRBSD KSH R49 2014/01/11</code>, then you have ''[[mksh]]''. |
||
* A ''[[zsh]]'' invoked as ''ksh'' sets ZSH_VERSION, not KSH_VERSION. |
* A ''[[zsh]]'' invoked as ''ksh'' sets ZSH_VERSION, not KSH_VERSION. |
||
Revision as of 15:39, 8 February 2014
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.