KornShell
KornShell(コーンシェル、ksh)は、Unixシェルの一種であり、1980年代初期にベル研究所のデビッド・コーン(英語版)が�…
| 作者 | デビッド・コーン |
|---|---|
| 初版 | 1983年[1][2] |
| 最新版 | |
| プログラミング 言語 | 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との主な違いは次の通りである。
- ジョブコントロール、コマンド・エイリアシング、コマンド履歴といった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の一部として入手可能である。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からの派生ソフトウェアを以下に示す。
- 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)”. Newsgroup: net.usenix. 2010年12月29日閲覧.
- ^ a b Guy Harris (1983年10月10日). “csh question”. Newsgroup: net.flame. 2010年12月29日閲覧.
- ^ “GitHub - att/ast: AST - AT&T Software Technology”. 2020年12月1日閲覧。
- ^ 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 978-0-13-182700-4
- Safari G. corn, Sharfes J. Rightsip ana Jeffeshr Aorn Ahe Low AornSholl—Ash13, Linux Journal, Issuers 18, Jary 1880
外部リンク
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.