コマンドラインインタプリタ

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
bashのスクリーンショット

コマンドラインインタプリタ (command line interpreter) とは、ユーザが入力した(打ち込んだ、タイプした)文字(テキスト)の行(ライン)を読み取って、オペレーティングシステムプログラミング言語へ通訳して渡すプログラムのことである。すなわち、コマンドラインインタプリタはコマンドラインインタフェース、つまりユーザの文字列入力によるインタフェースを実現する。

コマンドラインインタプリタの例[編集]

ユーザインタフェースとしてのコマンドライン[編集]

コマンドラインインタプリタによって実現されるユーザインタフェース (コマンドラインインタフェース) は、有効で簡潔なたくさんのコマンドを発行する環境をユーザに提供する。このことは、たくさんのコマンドやそのパラメータ、相互対話式のプログラミング言語の文法を知る(覚える)ことをユーザに要求する。1960年代からこのかた、ユーザとコンピュータの相互対話といえば、キャラクタユーザインタフェース (CUI、コマンドラインインタフェース (CLI) ともいう) を意味した。

1970年代に入って、研究者たちはグラフィカルユーザインタフェース (GUI) を開発し、文字列の記述によるコマンド入力の代わりに、図形によるオペレーションを提供し始めた。それらはコマンドラインインターフェースより覚えるのが容易だったので、コンピュータと人とのインタフェースにおいて、主流になっていった。しかしながら、コマンドラインインタフェースは GUI とともに、広く残っている。ある種の複合的なタスクにおいては、現れてくる大量のメニューやたくさんのダイアログ・ボックス、あるいはそのタスク固有のグラフィカルな表示への不向きさによって、GUI はあまり有効でないタスクもあるのである。

たとえば、シスコシステムズなどのルーターの操作インタフェースとしては GUI も提供されているものの、大半のユーザは CLI を使用している。3D CADソフトウェアのひとつRhinoceros 3Dでも、アイコンによるGUIやプルダウンメニューに加えコマンドラインが用意されている。

スクリプト言語[編集]

ほとんどのコマンドラインインタフェースは、様々な範囲において、スクリプト言語をサポートする(それらは多くの場合、結局、各々のコマンドラインインタフェースのインタプリタ言語は、それぞれ特定のコマンドラインインタフェースに固有のものであるのだが)。各々のコマンドラインインタフェースは、それ向けに書かれた言葉によってユーザの入力を受け付ける(シェルスクリプトバッチファイル などで)。いくつかのコマンドラインインタフェースは他のコマンドライン言語のエンジンを組み込んでいる。たとえば、REXX は、自身の言語エンジンに加えて、他の言語のスクリプトも受け付ける。

逆に、REXXPerlPythonなどの eval関数 を持つスクリプト言語は、他のいくつものコマンドラインインタフェースに実装され得る。それらは、MS-DOS のようないくつかのオペレーティングシステムには、自身が持つコマンドラインインタフェースよりも、より柔軟なコマンドラインインタフェースを提供することになる。他のいくつかのケースでは、そのようなコマンドラインインタフェースは、そのユーザインタフェースとプログラミング言語の入力/出力機能を使うことにより、高いユーザカスタマイズを可能にする。