出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/02/16 05:35 UTC 版)
| 作者 | デビッド・コーン |
|---|---|
| 初版 | 1983年[1][2] |
| 最新版 |
ksh93u+ / 2012年8月1日[3]
|
| プログラミング 言語 |
C |
| 対応OS | クロスプラットフォーム |
| プラットフォーム | UNIX |
| サポート状況 | 活発 |
| 種別 | Unixシェル |
| ライセンス | Common Public License (AT&T KornShell), 多くはパブリックドメインで一部はGPL (pdksh), プロプライエタリ (dtksh) |
| 公式サイト | www |
KornShell(コーンシェル、ksh)は、Unixシェルの一種であり、1980年代初期にベル研究所のデビッド・コーンが開発し、1983年7月14日のUSENIX年次大会で発表した[1][2]。初期にはベル研究所の開発者マイク・ヴィーチとパット・サリヴァンも開発に関わり、それぞれ入力行編集モードのEmacsスタイルとviスタイルのコードを書いた[4]。Bourne Shellに対して完全上位互換であり、コマンド履歴などのC Shellの機能の多くも取り入れている。彼はベル研究所内のユーザーの要望を受けてkshを開発したと言われている。
KornShellは、POSIX.2 Shell and Utilities, Command Interpreter (IEEE Std 1003.2-1992) に準拠している。
従来のBourne shellとKornShellとの主な違いは次の通りである。
vi互換モードとemacs互換モードとXEmacs互換モードを選択できる。2000年まで、KornShellはAT&Tの権利保有するプロプライエタリソフトウェアであった。その後AT&T独自のライセンスの下でオープンソースとなり、2005年の 93q から Common Public License での配布となった。KornShellはAT&T Software Technology (AST) Open Source Software Collectionの一部として入手可能である。ks は当初AT&Tの商用ライセンスでしか入手できなかったため、オープンソースの代替実装がいくつも生まれた。その中には、パブリックドメインのpdksh、mksh、GNUプロジェクトのbash、zshなどが含まれる。
最初のKornShellであるksh88の機能がPOSIX.2 Shell and Utilities, Command Interpreter (IEEE Std 1003.2-1992) の元になっている。
ベンダーによっては古いksh88を/bin/kshとしていまだに使っているところもあり、独自に拡張している場合もある。ksh93は作者であるコーンがいまだに保守している。ksh93の後ろにアルファベット1文字をつけてバージョンを表しており、最新版はksh93u+である。その1つ前はksh93u、さらに前はksh93t+だった。バグ修正用の中間バージョンはこのバージョン文字列を変更せずにリリースされることもある[5]。
デスクトップ用KornShellとされるdtkshはCDEの一部として配布されたksh93である[6]。このバージョンではMotifウィジェットのシェルレベルでのマッピングを提供しており、Tcl/Tkとの対抗を意図していた[7]。
最初のKornShellである ksh88 は、AIXバージョン4からAIXのデフォルトのシェルとされており[8][9]、ksh93はそれとは別に用意されている[10]。
KornShellからの派生ソフトウェアを以下に示す。