1 csh スクリプトとは

Unix では、コマンドは基本的に ターミナルソフト上でキーボード入力する形で実行します (MS-Windows のコマンドプロンプトでの作業のような使い方です) が、 そのコマンド入力を解釈してプログラムの実行を OS に命令するソフト、 つまり OS とユーザのインターフェースを取りもつソフトを シェル と呼びます。

シェルには、直接キーボードから命令を与えることができるだけでなく、 ファイルに命令を書いておいてそれを順番に実行させる (バッチ処理 と言います) こともできるのですが、 そこには単にコマンドを書き並べるだけでなく、 条件分岐やループ、変数などを使うこともできて、 簡単なプログラミングができるようになっています。 それを シェルスクリプト と呼びます。

Unix でよく使われるシェルには何種類かあって、 それぞれで文法が違います。よく使われるシェルには、

sh (Bourne shell)、csh (C shell)、ksh (Korn shell)、 tcsh (TENEX C shell)、bash (Bourne Again shell)、zsh (Z shell)
などがあります。

Unix は、起動時の種々のサービスの実行にもシェルスクリプトが使われていますが、 その多くがシステムに標準装備されている sh や ksh, bash などのスクリプトで書かれていることもあり、 また csh は「スクリプトプログラムには向かない」という批判もあるため ([1], [2] 参照)、 「シェルスクリプトプログラミング」というと sh や bash スクリプトの解説が多いようです。 しかし、csh は BSD 系 Unix では伝統的に標準的なシェルであり、 csh や tcsh を普段利用している人 (私もそう) には むしろ csh スクリプトの方が自然で、 スクリプトの知識を知っていると対話処理に役立つこともありますし、 また csh スクリプトは C 言語に似た構文も持っていて C 言語になじんでいる人にはわかりやすいと思いますので、 ここでは csh スクリプトを紹介します。

本稿では、その概要のみを解説します。

竹野茂治@新潟工科大学
2008年1月13日