KornShell
作者 デビッド・コーン英語版
初版 1983年[1][2]
最新版
ksh93u+ / 2012年8月1日 (13年前) (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との主な違いは次の通りである。

歴史

編集

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からの派生ソフトウェアを以下に示す。

脚注

編集
  1. ^ a b Ron Gomes (1983年6月9日). “Toronto USENIX Conference Schedule (tentative)”. Newsgroupnet.usenix. 2010年12月29日閲覧.
  2. ^ a b Guy Harris (1983年10月10日). “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 

私考文献

編集

外部リンク

編集

📚 Artikel Terkait di Wikipedia

F Sharp

ilverlightを利用したWindows Phone 7のアプリケーション開発もサポートされていた。 F#のFはFunctional programming language(関数型プログラミング言語)およびSystem Fが由来 である。 F#の開発環境はVisual

コマンド (コンピュータ)

コンピュータシステムにおけるコマンド(英: command)とは、システムへの指示・指令あるいは命令のことである。ジョブ(タスク)などをコンピュータに実行させるために使われる。コマンドはコンピュータ本体と周辺機器との間や、ソフトウェア間の通信時に与えられることもあれば、エンドユーザーから対話環境にて与えられることもある。

Limbo (プログラミング言語)

name0,name1 : type = value; name2,name3 : type; name2 = value; implement Command; include "sys.m"; sys: Sys; include "draw.m"; include "sh.m"; init(nil:

Speech Application Programming Interface

Speech Application Programming Interface(Speech API、SAPI)は、Windowsアプリケーションで音声認識や音声合成を使うためにマイクロソフトが開発したAPI。このAPIには様々なバージョンがあり、Speech SDK の一部として出荷されたものもあれば、Windows

シェル

ように機能が設計されている)。DOSでも、あまり一般的ではないが、COMMAND.COM以外の、フリーソフトによるシェルなどもある。なお、DOSの起動時の設定ファイルであるCONFIG.SYSにおいて「SHELL=C:\COMMAND.COM」といったようにして設定されるファイルは、その設定項目名の

スクリプト言語

Control Language(JCL、ジョブ制御言語)があるとも言える。この種の言語の処理系(インタプリタ)の多くは、UNIXのシェルやMS-DOSのCOMMAND.COMといったコマンドラインインタプリタと呼ばれるものである。他にも英語のようなコマンドでスクリプトを書ける AppleScript などもある。macOS

イベント駆動型プログラミング

イベント駆動プログラミング(イベントくどうプログラミング、英: event-driven programming)とは、ユーザー側の操作による受動的なイベントの発生によって、コンピュータ側の能動的なプロセスの実行とプログラムフローの選択が決定されるというプログラミングパラダイムである。イベントドリ

空軍資材コマンド

MAteriel COmmand」の略語である。 UNIVAC社の開発したFLOW-MATIC言語(Flow-Matic language)とIBM社の開発したCOMTRAN言語(COMmercial TRANslator programming