シェルスクリプト

Article on other languages:

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire
Bashのスクリーンショット
Bashのスクリーンショット

シェル (shell) はオペレーティングシステム (OS) の機能の一部であり、ユーザーからの指示を受けて解釈し、プログラムの起動や制御などを行うプログラムである。

目次

概要

シェル(殻)という名称は、OSの機能を実装している中心核部分(カーネル)の外層として動作することからきている。通常、シェルはコマンドラインインタフェース (CUI) を持つが、グラフィカルユーザインタフェース (GUI) を持つものは特にグラフィカル・シェルと呼ぶ。

シェルはUNIXで使用される呼称であり、より一般的にはコマンドインタプリタと呼ぶ。しかしUNIXの普及やMS-DOSなど他のOSでも使用されたことにより、現在では一般的な名称となっている。ただし通常「シェル」と言った場合は、POSIX系のオペレーティングシステムにおけるシェルを指すことが多い。一方「コマンドインタプリタ」の名称で呼ばれる場合は単に「コマンドを解釈する者」の意であり、OSのユーザインタフェースとしての意味合いは失われていることが多い。

UNIXライクなオペレーティングシステムでは、シェルがユーザプログラムとして実装されており、また好きなシェルを差し替えて使用することができ、このことはUNIX発表当時においてはUNIXの特徴の一つとなっていた。

シェルの機能

一般的なシェルの機能は以下のとおり(すべてのシェルが装備しているわけではない)。

  • プログラム名(プログラム出力)を指定してアプリケーションを起動する。
  • プログラムを終了する、フォアグラウンド・バックグラウンドを切り替える(ジョブコントロール)。
  • プログラムの出力をファイルに出力する(リダイレクト)、他のプログラムの入力とする(パイプ)。
  • プログラムの動作環境の設定に使用する環境変数、シェル変数の設定・参照。
  • 入力コマンドライン中の特別な記法で指定した部分をファイル名としてパターンマッチさせて展開する機能(ワイルドカードの展開)。
  • 入力履歴を呼び出す(コマンド入力ヒストリ)。
  • コマンドに別名をつける(エイリアス)。
  • 繰り返しコマンドを実行したり、条件に応じて実行させたりするための制御構造。
  • 入力時のファイル名などの補完機能
  • まとまった一連の入力をシェルスクリプトとして実行する。バッチ処理とも呼ばれる。

シェルスクリプト

シェルの特徴は、コマンドラインの指示のための変数や制御構造を持っており、ある種のプログラミング言語と呼べる。たとえば、複数のファイルに対する処理をBourne Shellでは以下のように記述できる。

このシェルスクリプトはカレントディレクトリー上の.txtというサフィックスを持つファイルのバックアップを作る。

#!/bin/sh
for file in *.txt
do
    cp "$file" "$file.bak"
done

このような処理はコマンドラインとして入力することもできるが、ファイルに保存してシェルスクリプトとして実行することができる。

UNIX/Linuxにおけるシェル

DOS/Windows環境のシェル

関連項目

脚注

[ヘルプ]

外部リンク

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net