シェル (shell) はオペレーティングシステム (OS) の機能の一部であり、ユーザーからの指示を受けて解釈し、プログラムの起動や制御などを行うプログラムである。
目次
1 概要
2 シェルの機能
3 シェルスクリプト
4 UNIX/Linuxにおけるシェル
5 DOS/Windows環境のシェル
6 関連項目
7 脚注
8 外部リンク
//
シェル(殻)という名称は、OSの機能を実装している中心核部分(カーネル)の外層として動作することからきている。通常、シェルはコマンドラインインタフェース (CUI) を持つが、グラフィカルユーザインタフェース (GUI) を持つものは特にグラフィカル・シェルと呼ぶ。
シェルはUNIXで使用される呼称であり、より一般的にはコマンドインタプリタと呼ぶ。しかしUNIXの普及やMS-DOSなど他のOSでも使用されたことにより、現在では一般的な名称となっている。ただし通常「シェル」と言った場合は、POSIX系のオペレーティングシステムにおけるシェルを指すことが多い。一方「コマンドインタプリタ」の名称で呼ばれる場合は単に「コマンドを解釈する者」の意であり、OSのユーザインタフェースとしての意味合いは失われていることが多い。
UNIXライクなオペレーティングシステムでは、シェルがユーザプログラムとして実装されており、また好きなシェルを差し替えて使用することができ、このことはUNIX発表当時においてはUNIXの特徴の一つとなっていた。
一般的なシェルの機能は以下のとおり(すべてのシェルが装備しているわけではない)。
プログラム名(プログラム出力)を指定してアプリケーションを起動する。
プログラムを終了する、フォアグラウンド・バックグラウンドを切り替える(ジョブコントロール)。
プログラムの出力をファイルに出力する(リダイレクト)、他のプログラムの入力とする(パイプ)。
プログラムの動作環境の設定に使用する環境変数、シェル変数の設定・参照。
入力コマンドライン中の特別な記法で指定した部分をファイル名としてパターンマッチさせて展開する機能(ワイルドカードの展開)。
入力履歴を呼び出す(コマンド入力ヒストリ)。
コマンドに別名をつける(エイリアス)。
繰り返しコマンドを実行したり、条件に応じて実行させたりするための制御構造。
入力時のファイル名などの補完機能
まとまった一連の入力をシェルスクリプトとして実行する。バッチ処理とも呼ばれる。
シェルの特徴は、コマンドラインの指示のための変数や制御構造を持っており、ある種のプログラミング言語と呼べる。たとえば、複数のファイルに対する処理をBourne Shellでは以下のように記述できる。
このシェルスクリプトはカレントディレクトリー上の.txtというサフィックスを持つファイルのバックアップを作る。#!/bin/shfor file in *.txtdo cp "$file" "$file.bak"done
このような処理はコマンドラインとして入力することもできるが、ファイルに保存してシェルスクリプトとして実行することができる。
UNIX/Linuxにおけるシェル
sh系
Bourne Shell(sh)
Korn Shell(ksh)
Standalone Shell(sash)
Bourne Again Shell(bash) ※Linuxの標準シェル
Z Shell(zsh)
Almquist Shell(ash)
csh系
C Shell(csh) ※BSD及びBSDの子孫 (FreeBSD 4.1-RELEASE以降を除く) の標準シェル
TENEX C Shell(tcsh) ※FreeBSD 4.1-RELEASE以降の標準シェル
グラフィカルシェル
Nautilus GNOME標準
Konqueror KDE標準
その他
Friendly interactive shell(fish)
Restricted Shell(rsh)
Scheme Shell(scsh)
DOS/Windows環境のシェル
COMMAND.COM
cmd.exe
Windows PowerShell
NYACUS
dosshell
KI-Shell
プログラムマネージャ
Windows Explorer
LiteStep
geoshell
Services for UNIX導入により使えるシェル
Korn Shell (ksh)
TENEX C Shell (tcsh)
関連項目
POSIX
[ヘルプ]
外部リンク
⇒Bourne Shell自習テキスト
カテゴリ: コンピュータのユーザインタフェース | UNIX | UNIXのソフトウェア
更新日時:2008年11月12日(水)13:28
取得日時:2008/11/22 09:48