これまで見てきたように、シェルはユーザとコンピュータの橋渡しをして、 ユーザがコマンドを端末から打ち込む毎に、それを解釈し実行します。 一方、[2.2]節で触れたように、 「プログラムが可能である」という、もう一つの面もあります。 この、プログラムとして手続きを書き込んだファイルを 「スクリプト・ファイル」と言います。 スクリプト(script)とは劇の「台本」のことであり、 台本を事前に決めていてそれに沿って行わせるためにこの名前があります。
シェル・プログラミングは通例、B シェルを使って行います*。 具体的にどのようなものか、簡単な例を見てみましょう。
次のような一連の仕事を行うコマンドを作ることを考えます。 (カレントディレクトリは /home/inex/script)
従って、次のようなファイルを書こう。
[スクリプトファイル:sample]#! /bin/shここで、
date
pwd
echo 'Hey!'
$ sh sampleとすると、次のように出力される。
$ sh sample 1990年9月27日(木) 14:40 /home/inex/script Hey! |
この場合、B シェル(sh)をわざわざ起動して、 その引数としてファイル名を指定し、 そのファイルを B シェルが解釈して実行しています。
いちいちこのようなことをするのは非能率でもあるので、
$ chmod 744 sampleもしくは
$ chmod u+x sampleとすると、スクリプトのファイル名を入力するだけで実行することができます。
$ sample
この場合、自動的に(自分が使っている login シェル)が、 スクリプトファイルを B シェルに解釈させ実行させています。
より有用なシェルスクリプトを作るにあたって、 参考にすると良いサイトや文献を紹介しておきます。