|
Unixシェルは、Unix系システムにおけるコマンドラインシェルである。プロセスとして起動したい1個ないし複数のコマンド名をパイプラインなどとしてつなげた「ジョブ」を記述したり、それを複数並べたテキストファイルによるシェルスクリプトを実行する。 最も影響を与えたUnixシェルとしては、Bourne Shell と C Shell がある。Bourne Shell は単に sh と呼ばれ、AT&Tでスティーブン・ボーンが開発したUNIX本来のコマンドラインインタプリタである。パイプ、ヒアドキュメント、、変数、条件式やループといった制御構造、ワイルドカードによるファイル名指定などの機能が他の全てのUnixシェルに共通する機能の出発点となった。言語としては、ブロックの終りを逆から綴った (ファイル)キーワードで示すなど、ALGOL 68 に影響を受けている〔''Re: Late Bloomers Revisited'' USENET post to comp.lang.misc by Piercarlo "Peter" Grandi, Dept of CS, UCW Aberystwyth, UK, Dec 17, 1989.〕。 C Shell (csh) はビル・ジョイがカリフォルニア大学バークレー校の大学院生のときに開発した。C言語をモデルとして制御構造や式の文法を設計している。対話型シェルとして、ヒストリ機能、編集機構、エイリアス、ディレクトリスタック、チルダ記法、cdpath、ジョブコントロール、パスハッシングといった機能を導入した。 これら2つのシェルがベースとなって、様々なシェルが派生していった。 == 概念 == 「シェル」を最も広い意味で捉えれば、コマンドを入力するためにユーザーが使用するプログラム、といえる。シェルはOSの詳細を隠蔽してシェルのインタフェースだけをユーザーに提示し、OSの中核部であるカーネルインタフェースの技術的詳細とのやりとりを行う。Unix系OSでは、対話型セッションのためのコマンドラインインタフェースには様々な選択肢がある。ユーザーがシステムにログインすると(GUI環境でない場合は)シェルプログラムが自動的に実行開始する。このログインシェルはユーザー毎にカスタマイズできる。 passwd ファイルで起動するシェルプログラムを指定でき、passwd -e コマンドまたは コマンドで変更することもできる。また、ユーザーは別のシェルプログラムを対話的に起動することもできる。Unixシェルが登場した当時、このようなプログラムは珍しかった。対話型のコマンド言語であると同時にスクリプト言語としても使え、システムの制御ファシリティとしてOS自体もそのスクリプトを使用している。シェルの考え方はUNIX以外にも広まっていった。 ウィンドウシステムを持つシステムでは、ユーザーがシェルを直接使わないことも多い。Unix系OSでは、システムの立ち上げスクリプト群がシェルスクリプトで書かれており、ウィンドウシステムの起動もインターネットへのアクセスのためのプログラム起動もその他の様々な機能の起動もそのようなスクリプトで行う。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Unixシェル」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 Unix shell 」があります。 スポンサード リンク
|