プログラム言語には、コンパイル型、インタプリタ型、スクリプト型と呼ばれる種類の言語があります。
UNIXやLinuxで使える言語と言えば、C言語がまず挙げられます。他にもJavaやC++、古いものではCOBOLやFortranなど様々なプログラム言語が存在します。

上記で挙げた言語は全て、人間が読み書きできる形式のプログラム(ソースコード)を、コンピュータが実行できる形式に変換(コンパイル)して実行形式プログラムファイルを作る、というコンパイル型の言語です。

それに対し、インタプリタ型あるいはスクリプト型と呼ばれる言語は、コンパイル作業を行いません。コンピュータが実行できる形式への変換は、実行時に自動的に行われます。コンパイル型言語に比べると、処理速度は遅いですが、小規模なプログラムを簡単に作ることに適しています。特にスクリプト型言語については、文字列処理や簡単な集計処理など、テキストファイルに記述してすぐに実行できるという手軽さが最大の特徴です。
シェルスクリプトはこのタイプです。他に、Perl、Ruby、Pythonなどがあります。

PerlやRubyなどが台頭し、シェルスクリプトがおされぎみのイメージがあるように身近で感じていますが、侮るのは早急です。

さまざまなベンダーから提供されているツールなど、実はシェルスクリプトで記述されていることも多く見受けられますし、「/usr/bin」配下に格納されているコマンドの多くもシェルスクリプトです。

「/usr/bin」のコマンドの内、シェルスクリプトになっているものは以下のコマンドで探せますので、一度試してみてください。

$ find /usr/bin | xargs file | grep Bourne

また、PerlやRubyなどで書かれたスクリプトを動かすためには、そのためのパッケージを導入する必要がありますが、様々な制約により、それらを導入することができないケースも実際の開発現場では存在します。

その点について、シェルスクリプトの実行基盤はシェルなので最小構成のLinuxでも必ず実行可能です。

シェルスクリプトはシェルにあらかじめ用意しておいた台本(スクリプト)を渡してまとめて処理させると言った動作イメージになります。

シェルスクリプトが書けるようになると、Linuxサーバーの運用ツールが簡単に作れるようになったり、場合によってはシェルスクリプトで業務アプリケーションを作成することもできるようになります。また、コマンドラインで実行するだけでなく、cronという決まった時刻にプログラムを実行させる機能を使用して、1週間に一度、あるいは毎朝7時といったように、定期的に実行させることも可能です。
簡単そうで、奥が深いのがシェルスクリプトですが、Linuxについて深く理解していくためにも、避けては通れない道です。

特に、Linuxサーバー管理者にとって必須のスキルと言えるでしょう。

次のページから早速、サンプルのシェルスクリプトを作成してきます。