Thompson Shellとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > Thompson Shellの意味・解説 

Thompson Shell

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/27 06:29 UTC 版)

ナビゲーションに移動 検索に移動
Thompson Shell
作者 ケン・トンプソン
初版 1971年
対応OS Unix
ライセンス Unixシェル
テンプレートを表示

Thompson Shell(トンプソン・シェル)は Unix シェルの元祖であり、ケン・トンプソンが開発して Unix の最初のバージョンに搭載された[1]。これはシンプルなコマンドラインインタプリタであり、シェルスクリプト向きではなかったが、それにもかかわらずキャラクタ・ユーザインタフェースにいくつかの先進的な機能を導入し、後の Unix シェルの発展につながった。

歴史

コマンドライン・インタプリタに「シェル」という名前をつけ、それを OS カーネル外のユーザ・インターフェースとして提供するというコンセプトは、Unix に先行して Multics から始まった。

Thompson Shell の初期の特徴として、コンパクトな入出力リダイレクト構文を挙げることができる。Multics では、コマンドラインで入出力リダイレクトを行なうには、それを開始・終了するために別々のコマンドを使う必要があった。一方 Unix ではコマンドに引数を追加するだけでよく、具体的には < FILENAME で入力元ファイル、> FILENAME で出力先ファイルの指定になり、それでコマンドの実行中はシェルが入出力をリダイレクトするようになる。この構文は、Unix の最初のバージョン(1971年)で既に実装されていた。

のちに追加されたものとして、パイプ機能がある。ダグラス・マキルロイの提案でリダイレクト構文は拡張され、あるコマンドの出力を、別のコマンドの入力として渡せるようになった。Version 3 のマニュアルによると、当初のパイプ構文は次のようなものだった。

command1 >command2>

しかしこの構文は非常に紛らわしく、ファイル入出力のリダイレクトと混同しやすいことが分かった。Version 4 になると、パイプを表現するために |^ を使うよう改められた。

command1 | command2

これは次のように入力しても同じである。

command1 ^ command2

リダイレクトに <>、パイプに | を使う Thompson Shell の構文は分かりやすく、他の殆どの Unix シェルで踏襲されたばかりでなく、Unix 以外の OS、特に MS-DOSOS/2Microsoft Windows のコマンドライン・シェルでも採用された。

衰退と代替

Thompson Shell の設計は、Multics の模倣を意図したものだった。 プログラムの流れを制御するのに不可欠な if 文や goto 文も別のコマンドとして実装されていた[1]。その結果、1975年に Version 6 Unix がリリースされる頃には、Thompson Shell は殆ど本格的プログラミング作業に不適切であることが明らかになりつつあった。

この頃、Programmer's Workbench UNIX ディストリビューションの開発者、特に John Mashey は、プログラミングに適したものにするために Thompson Shellを修正し始めた[1]PWB shell英語版または Mashey シェルとして知られるこのシェルは、より進んだフロー制御機構を含み、シェル変数を導入したが、Thompson シェルとの互換性の必要から制限が残っていた。

最終的に Thompson Shell はメインの Unix シェルの座を1979年に、Version 7 Unix では Bourne Shell に、2BSD では C Shell に、それぞれ明け渡すことになった。ほぼ全ての Unix 及び Unix 系システムが V7 から 2BSD へ移行して以降、Thompson Shell は一般にはもはや使われなくなった。しかし、いくつかの Ancient UNIX のソースの一部としてオープンソースとなっており入手は可能で、また歴史的資料として現在の Unix にも組み込めるようになっている。

脚注

  1. ^ a b c J. R. Mashey (1976-10-13). Using a Command Language as a High-Level Programming Language. Proceeding of the 2nd International Conference on Software Engineering. pp. pp.169–176. 

外部リンク



このページでは「ウィキペディア」からThompson Shellを検索した結果を表示しています。
Weblioに収録されているすべての辞書からThompson Shellを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からThompson Shell を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Thompson Shell」の関連用語

Thompson Shellのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Thompson Shellのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのThompson Shell (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS