1. トップ
  2. 新着ニュース
  3. IT
  4. パソコン

窓辺の小石 第188回 ザ・ボーン・アイデンティティー

マイナビニュース / 2024年10月18日 12時0分

画像提供:マイナビニュース

UNIXでは、コマンドラインを処理するプログラムを「シェル(Shell)」と呼んだ。これは一般的には、「コマンドライン・プロセッサ」などと呼ばれている。シェルの第一の目的は、ユーザーからの入力を解釈してコマンドを実行することだ。

こうしたシェルの先祖の1つが1979年に開発が始まったBourne Shellだ(表01)。Linuxなどで広く使われているbash(Bourne Again Shell)のBourneである。これは、開発者であるStephen R. Bourneの名前にちなむ。最初のUnix用に作られたシェルは、現在ではThompson Shell(1971年に開発開始)と呼ばれている。UNIXではいくつもシェルが作られ、作者の名前でそれぞれを区別する習慣になっている。

Thompson Shellは、入出力のリダイレクトやパイプラインなど、現在のシェルの基本的なコマンド構文を装備していた。しかし、シェルスクリプトの機能は持たず、初期のUNIXでは、外部プログラムを利用してコマンドのスクリプト実行を実現していた。

コンピュータでは、同じ処理を繰り返し行うことが多く、一回実行させた複数のコマンドを記録しておき、再度実行できると作業効率が上がる。さらに条件判断や繰り返しなどの構造を導入することで汎用性が高まる。ソフトウェア開発者向けに作られたPWB/UNIX(PWB: Programmers Work Bench)では、Mashey Shell(1975年。PWB Shellとも)が開発された。これは、Thompson Shellと互換性を持たせつつ、構造化プログラミングが可能なようにif-then-else-endifやswitch、whileなどの構文を導入した。しかし、PWB版UNIXでしか動作せず、Thompson Shellに起因する制限があった。

そこで1979年に開発されたのが、Bourne Shellである。Bourne Shellは、構造化プログラミングが可能なスクリプト言語の機能を持つシェルとして開発された。その文法は、ALGOL言語風でIF文には「if-then-elif-then-else-fi」という構文を使う。開発者のStephen R. BourneがALGOL68コンパイラの開発に関わっていた関係でそうなった。Bourne Shellの最大の目的は、シェルスクリプトに本格的な高級言語の文法を導入し、高度なプログラミングを可能にすることにあった。

この記事に関連するニュース

トピックスRSS

ランキング

複数ページをまたぐ記事です

記事の最終ページでミッション達成してください