Korn Shell
出典: フリー百科事典『ウィキペディア(Wikipedia)』
Korn Shell(コーンシェル、ksh)は、シェルの一種であり、1980年代初期にベル研究所のデビッド・コーンが開発した。Bourne Shellに対して完全上位互換であり、コマンド履歴などのC Shellの機能の多くも取り入れている。彼はベル研究所内のユーザーの要望を受けてkshを開発したと言われている。
従来のシェルに対して ksh が勝っている点はプログラミング言語としての機能にある。構想の当初からBourne shellとの互換性を維持しつつ、いくつかの機能が順次追加されていった。
ksh93では、連想配列や浮動小数点演算機能が組み込まれている。スクリプト機能が大変優れており、awk
や perl
などのスクリプト言語に比較しても遜色がない。
対話モードで使用する場合、ksh はコマンド行をWYSIWYG風の方法で編集することができる。カーソルを上に移動させるキー操作で以前入力したコマンド行を呼び出し、そのコマンド行をラインモードエディタを使うように編集できる。このときのキー操作は vi
互換モードと emacs
互換モードを選択できる。
ksh は Shell Language Standard (POSIX 1003.2 "Shell and Utilities Language Committee") に準拠する方向に向かっている。
2000年まで、Korn shell は AT&T の権利保有するソフトウェアであった。その後AT&T独自のライセンスの下でオープンソースとなり、2005年から Common Public License での配布となった。Korn shell は AT&T Software Technology (AST) Open Source Software Collection の一部として入手可能である。ksh は当初 AT&T の商用ライセンスでしか入手できなかったため、オープンソースの代替プログラムがいくつも生まれた。その中には、パブリックドメインの pdksh、フリーソフトウェア財団のBourne Again Shell(bash)、Z Shellなどが含まれる。
ksh93は数々の改良がなされているものの、ベンダーによっては古い ksh88 を /bin/ksh
としていまだに使っているところもある。2005年現在、Solarisは ksh88 を使っている。また、Linuxのディストリビューションでも ksh93 が使われ始めている。
ksh93 は GUI 用に拡張されたふたつのバージョンがある。dtksh は CDE の一部であり、tksh は Tkウィジェット・ツールキットにアクセス可能なバージョンである。