Korn Shell
| 作者 | デビッド・コーン |
|---|---|
| 初版 | 1983年[1][2] |
| 最新版 | ksh93u / 2011年02月8日[3] |
| プログラミング言語 | C |
| 対応OS | クロスプラットフォーム |
| プラットフォーム | UNIX |
| サポート状況 | 活発 |
| 種別 | Unixシェル |
| ライセンス | Common Public License (AT&T KornShell), 多くはパブリックドメインで一部はGPL (pdksh), プロプライエタリ (dtksh) |
| 公式サイト | www.kornshell.org |
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 との主な違いは次の通りである。
- ジョブコントロール、コマンド・エイリアシング、コマンド履歴といった C Shell 由来の機能が追加されている。
- 対話モードで使用する場合、ksh はコマンド行をWYSIWYG風の方法で編集することができる。カーソルを上に移動させるキー操作で以前入力したコマンド行を呼び出し、そのコマンド行をラインモードエディタを使うように編集できる。このときのキー操作は
vi互換モードとemacs互換モードと XEmacs 互換モードを選択できる。 - ksh93 では、連想配列や浮動小数点数演算機能が組み込まれている。
歴史 [編集]
2000年まで、KornShell は AT&T の権利保有するプロプライエタリ・ソフトウェアであった。その後AT&T独自のライセンスの下でオープンソースとなり、2005年の 93q から Common Public License での配布となった。KornShell は AT&T Software Technology (AST) Open Source Software Collection の一部として入手可能である。ksh は当初 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つ前は ksh93t+、さらに前は ksh93t だった。バグ修正用の中間バージョンはこのバージョン文字列を変更せずにリリースされることもある[5]。
デスクトップ用KornShellとされる dtksh はCDEの一部として配布された ksh93 である[6]。このバージョンではMotifウィジェットのシェルレベルでのマッピングを提供しており、Tcl/Tkとの対抗を意図していた[7]。
最初のKornShellである ksh88 は、AIXバージョン4からAIXのデフォルトのシェルとされており[8][9]、ksh93はそれとは別に用意されている[10]。
派生 [編集]
KornShellからの派生ソフトウェアを以下に示す。
- dtksh — ksh93からのフォーク。CDEの一部。
- tksh — ksh93からのフォーク。Tkウィジェット・ツールキットへのアクセスを提供。
- oksh — OpenBSD版KornShellのフォーク。GNU/Linuxでのみ動作。DeLi Linux でデフォルトのシェルとして使われている。
- mksh — KornShellのフリーソフトウェア実装。MirOS BSD で開発。
- SKsh — AmigaOS版KornShell。ARexxとの相互作用などAmiga固有の機能を提供している。
- MKS Korn shell — MKS社による商用実装。Microsoft Windows Services for UNIX (SFU) のバージョン2.0までで使われていた。デビッド・コーンによれば、1998年時点の MKS Korn Shell は KornShell と完全互換ではなかった[11][12]。SFUバージョン3.0でマイクロソフトは MKS Korn shell の代替として新たにPOSIX.2準拠のシェルをInterixの一部として導入した[13]。
- デビッド・コーンが開発したUWINはWindows上のUNIX互換パッケージで、KornShell も含まれている[14]。
脚注 [編集]
- ^ a b Ron Gomes (1983年6月9日). “Toronto USENIX Conference Schedule (tentative)”. net.usenix. (ウェブリンク). 2010年12月29日閲覧。
- ^ a b Guy Harris (1983年10月10日). “csh question”. net.flame. (ウェブリンク). 2010年12月29日閲覧。
- ^ http://www2.research.att.com/sw/download/release.2011-02-08.2010-08-26.html
- ^ Bolsky, Morris I.; Korn, David G. (1989). “Acknowledgements”. The KornShell Command and Programming Language. Englewood Cliffs, NJ: Prentice Hall. pp. xii. ISBN 0-13-516972-0.
- ^ http://www2.research.att.com/sw/download/notes.html
- ^ Bill Rosenblatt; Arnold Robbins (2002). Learning the Korn Shell (2 ed.). O'Reilly Media, Inc.. pp. viii–ix. ISBN 9780596001957.
- ^ J. Stephen Pendergrast (1995). Desktop KornShell graphical programming. Addison-Wesley. p. 359. ISBN 9780201633757.
- ^ Casey Cannon; Scott Trent; Carolyn Jones (1999). Simply AIX 4.3. Prentice Hall PTR. p. 21. ISBN 9780130213440.
- ^ http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=/com.ibm.aix.cmds/doc/aixcmds5/sh.htm
- ^ http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=/com.ibm.aix.baseadmn/doc/baseadmndita/korn_shell_enhanced.htm
- ^ “David Korn Tells All”. Slashdot. 2009年10月22日閲覧。
- ^ “Jerry Feldman — USENIX NT/LISA NT conference attendee”. Lists.blu.org. 2009年10月22日閲覧。
- ^ “Windows Services for UNIX Version 3.0”. Technet.microsoft.com. 2009年10月22日閲覧。
- ^ Anatole Olczak (2001). The Korn shell: Unix and Linux programming manual. Addison-Wesley Professional. pp. 4. ISBN 9780201675238.
参考文献 [編集]
- Morris I. Bolsky; David G. Korn (1995). The new KornShell command and programming language. Prentice Hall PTR. ISBN 9780131827004.
- David G. Korn, Charles J. Northrup and Jeffery Korn The New KornShell—ksh93, Linux Journal, Issue 27, July 1996
外部リンク [編集]
- Korn shell home page (AT&T ksh)
- ksh93 man page
- ksh88 man page
- Public Domain Korn shell (pdksh)
- MirBSD Korn Shell (mksh)
- mksh man page (also as PDF in DIN A4 paper size)
|
|||||