C Shell
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/02/21 13:44 UTC 版)
影響
ヒストリ機構、エイリアス、チルダ記法、対話的ファイル名補完、シェル内での式評価などといった機能は大きな成功だったと言え、他のUnixシェルでも採用された。しかしkshやbashなど多数の独立したクローンが生まれたshとは対照的に、cshのクローンとして知られているものは2つしかない(tcshはcshと独立して開発されたわけではなく、クローンとは言えない。tcshはビル・ジョイの書いたオリジナルのコードをベースとして機能を追加しただけである)。
アレン・ホーラブの1986年の著書 On Command: Writing a Unix-Like Shell for MS-DOS[18] では、"SH" という名前のプログラムを解説しているが、これはshではなくcshの機能と言語設計をコピーしたものである。関連するフロッピーディスクにはSHと基本的なUnix風コマンド(cat、cp、grep など)のソースコードが格納されていて、それぞれ25ドルと30ドルで販売されていた。ホーラブのSHの制御構造、式の文法、ヒストリ機構などは全て C shell と同一だった。
1988年、Hamilton Laboratories がOS/2向けに Hamilton C shell を発売した[19]。1992年には Windows NT 版をリリース[20]。Windows版はその後も活発にサポートされているが[21]、OS/2版は2003年でサポート終了している。Hamilton C shell は Nicole Hamilton が書いたもので、cshクローンとUnixユーティリティ群を含んでいる。初期のクイックリファレンスによれば[22]、「(ジョブコントロールを除く)C shell 言語全体に完全準拠」としているが、言語仕様には若干の改良が見られ、UnixとPCの差異にも対応している。最大の改良点はトップダウン構文解析を採用した点で、制御構造の入れ子やパイプ連結が可能となっている。また、プロシージャを定義でき、ブロック構造に局所変数を定義でき、浮動小数点演算もサポートしている。PC向けの改良点としては、ファイル名などのPCにおける慣習に従っており、スレッドの生成で済む部分は子プロセスを生成するのではなくスレッドで対応している。
音声認識研究の分野では C shell がスクリプト言語としてよく使われている。これはHTKというツール[23]がcshスクリプトを使っていることと関連している。
- ^ Zoulas, Christos (Jan 14 2012), tcsh-6.18 is now available 2012年1月16日閲覧。
- ^ Harley Hahn, Harley Hahn's Guide to Unix and Linux.
- ^ Berkeley Engineering Lab Notes, Volume 1, Issue 2, October 2001.
- ^ An Introduction to the C shell by Bill Joy.
- ^ https://packages.debian.org/buster/csh
- ^ https://packages.ubuntu.com/focal/csh
- ^ https://packages.debian.org/buster/tcsh
- ^ https://packages.ubuntu.com/focal/tcsh
- ^ Ken Greer (3 October 1983). "C shell with command and filename recognition/completion". Newsgroup: net.sources. 2010年12月29日閲覧。
- ^ tcsh(1) man page
- ^ Fixes file in tcsh-6.17.00.
- ^ Re: Late Bloomers Revisited USENET post to comp.lang.misc by Piercarlo "Peter" Grandi, Dept of CS, UCW Aberystwyth, UK, Dec 17, 1989.
- ^ IEEE Standard for Information Technology, Portable Operating System Interface (POSIX), Part 2: Shell and Utilities, Volume 2. IEEE Std 1003.2-1992, pp. 766-767. ISBN 1-55937-255-9.
- ^ Csh Programming Considered Harmful by Tom Christiansen
- ^ Top Ten Reasons not to use the C shell by Bruce Barnett
- ^ David Gries (1971). Compiler Construction for Digital Computers. John Wiley & Sons. ISBN 0-471-32776-X.
- ^ Bill Joy in Conversation with Brent Schlender, Churchill Club, Santa Clara, CA, Feb 11, 2009.
- ^ Holub, Allen (1986, 1987). On Command: Writing a Unix-Like Shell for MS-DOS (Second ed.). M&T Books, Redwood City, CA. ISBN 0-934375-29-1
- ^ Hamilton, Douglas. “Hamilton C shell Announcement”. IBM Personal Systems Developer (Summer 1989): 119–121 2010年11月22日閲覧。.
- ^ Hamilton C shell for Windows Release Notes 4.0, retrieved June 19, 2010.
- ^ Oliver, Robert (2009年9月19日). “Hamilton C Shell 2009 – The Missing Shell for Windows”. 2010年2月10日時点のオリジナルよりアーカイブ。2010年6月24日閲覧。
- ^ Hamilton C shell Quick Reference. Hamilton Laboratories, Wayland, MA. (1988 - 1990 (Revised July 10, 1990)) 2010年11月22日閲覧。
- ^ htk
- C Shellのページへのリンク