シェル、シェルスクリプト、シェルコマンド

2012年12月24日 09:54

混在して使っている人がいるので、正確に定義してみよう。

 

シェル

 

ユーザーから入力されたコマンドを解釈し、 プログラムを起動するソフトウエア。
OSのカーネル(核)を貝の殻のように包んでいることから名付けられている。
 
sh(Bourne shell、Bshell):
AT&T のベル研究所で開発され、 開発者の1人であるSteven Bourne 氏にちなんで名付けられた。 色々なシェルの中で共通項的な位置にあり、 ほとんど全ての UNIX で利用できる標準的なシェル。
 
bash(Bourne Again shell):
MIT(マサチューセッツ工科大学)の Brian Fox 氏が作成したシェルで、 現在、GNU ソフトウェアの一部として配布されている。 bash は、元来 B シェル において貧弱であった、 ユーザーインターフェイスとしての機能を強化するため、 ヒストリー機能、エイリアスなどが追加されている。
 
csh(c shell):
カリフォルニア大学バークレイ校の William Joy 氏が中心になって開発したシェル。
C 言語に似た構文を持つことから、この名前が付けられている。 B シェルに比べ、ヒストリー機能やジョブ制御、 エイリアスなどの機能が付加されており、対話形式で使用する場合に便利である。
 

シェルコマンド

OSのシェルに対する命令。

コンピュータ上で処理を行うための、特定の書式に則った一連の文字列のこと。

 

シェルの機能1(インタプリタ)

 
ユーザにコマンド入力を促すためのプロンプト (prompt) を表示する。
キーボードから入力された文字列(コマンド)の解釈を行う。
コマンドとして入力された名前のプログラムを探し出して起動する。
 

シェルの機能2(history)

 
コマンド履歴の記録する。
 

シェルの機能3(コマンド入力・編集の支援)

 
過去のコマンドを呼び出したり、補完したりする。
 

シェルの機能4(コマンド入出力のファイルへの切り替え(リダイレクション)とパイプ)

 
あるコマンドが画面に表示する結果を直接ファイルに書き出したり、既にあるファイルに書いてある内容をキーボード入力の代わりに利用する(リダイレクション)。また、複数のコマンドを効率よく実施する(パイプ)。
 

シェルの機能5(メタキャラクタを理解する)

 
任意を示す*とか?とかの機能を使えるようにする。

 

シェル変数

シェルが内部で保持している変数。

 

シェルスクリプト(コマンドファイル)

コマンドと条件分岐やループ処理等を使用し、一連の処理を実現するプログラムのこと。

一連の操作をキーボードから入力する代わりに、ファイルの記述内容を順次解釈して実行する。

 

シェルプログラミング

シェルスクリプトを使ったプログラミングのこと。