For faster navigation, this Iframe is preloading the Wikiwand page for KornShell.

KornShell

KornShell
作者 デビッド・コーン英語版
初版 1983年[1][2]
最新版
ksh93u+ / 2012年8月1日 (12年前) (2012-08-01)[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の一部として入手可能である。ks は当初AT&Tの商用ライセンスでしか入手できなかったため、オープンソースの代替実装がいくつも生まれた。その中には、パブリックドメインのpdkshmkshGNUプロジェクトbashzshなどが含まれる。

最初の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とされるdtkshCDEの一部として配布されたksh93である[6]。このバージョンではMotifウィジェットのシェルレベルでのマッピングを提供しており、Tcl/Tkとの対抗を意図していた[7]

最初のKornShellである ksh88 は、AIXバージョン4からAIXのデフォルトのシェルとされており[8][9]、ksh93はそれとは別に用意されている[10]

派生

[編集]

KornShellからの派生ソフトウェアを以下に示す。

  • dtkshksh93からのフォーク。CDEの一部。
  • tkshksh93からのフォーク。Tkウィジェット・ツールキットへのアクセスを提供。
  • okshOpenBSD版KornShellのフォーク。GNU/Linuxでのみ動作。DeLi Linux英語版でデフォルトのシェルとして使われている。
  • mksh — KornShellのフリーソフトウェア実装。MirOS BSD英語版で開発。
  • SKshAmigaOS版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]

脚注

[編集]
  1. ^ a b Ron Gomes (9 June 1983). "Toronto USENIX Conference Schedule (tentative)". Newsgroupnet.usenix. 2010年12月29日閲覧
  2. ^ a b Guy Harris (10 October 1983). "csh question". Newsgroupnet.flame. 2010年12月29日閲覧
  3. ^ GitHub - att/ast: AST - AT&T Software Technology”. 2020年12月1日閲覧。
  4. ^ 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 
  5. ^ http://www2.research.att.com/sw/download/notes.html
  6. ^ Bill Rosenblatt; Arnold Robbins (2002). Learning the Korn Shell (2 ed.). O'Reilly Media, Inc.. pp. viii–ix. ISBN 9780596001957. https://books.google.co.jp/books?id=5nMCY272chUC&pg=PR8&redir_esc=y&hl=ja 
  7. ^ J. Stephen Pendergrast (1995). Desktop KornShell graphical programming. Addison-Wesley. p. 359. ISBN 9780201633757. https://books.google.co.jp/books?id=O6xQAAAAMAAJ&redir_esc=y&hl=ja 
  8. ^ Casey Cannon; Scott Trent; Carolyn Jones (1999). Simply AIX 4.3. Prentice Hall PTR. p. 21. ISBN 9780130213440 
  9. ^ http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=/com.ibm.aix.cmds/doc/aixcmds5/sh.htm
  10. ^ http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=/com.ibm.aix.baseadmn/doc/baseadmndita/korn_shell_enhanced.htm
  11. ^ David Korn Tells All”. Slashdot. 2009年10月22日閲覧。
  12. ^ Jerry Feldman — USENIX NT/LISA NT conference attendee”. Lists.blu.org. 2009年10月22日閲覧。
  13. ^ Windows Services for UNIX Version 3.0”. Technet.microsoft.com. 2009年10月22日閲覧。
  14. ^ Anatole Olczak (2001). The Korn shell: Unix and Linux programming manual. Addison-Wesley Professional. pp. 4. ISBN 9780201675238. https://books.google.co.jp/books?id=dCIJv94vXUMC&pg=PA4&redir_esc=y&hl=ja 

私考文献

[編集]

外部リンク

[編集]
{{bottomLinkPreText}} {{bottomLinkText}}
KornShell
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?