Shell Script の基本
Shell Script (しぇるすくりぷと) を使うと、
コマンドラインで打つべき一連のコマンドをファイルに書くことにより、
いっぺんに実行させることができます。
シェルスクリプトを使うと何ができるでしょう?
思い付いた所を書いて見ましょう。
- Cの実行ファイルで、計算時間が長いものの終了を待たずに
次の作業を書いておくことができる。つまり、データ出力とデータ処理が
一度に行える(その間手間いらず)
- 引数を取れる実行ファイルにいろんな引数を取らせる作業を書いておけば、
引数のサーチが寝ている間にできる。(シェルスクリプトを知らないと、
いちいち引数を変えて実行させると言うお守をしないといけない!)
- 何度も行う一連の作業(データ出力、処理)をシェルスクリプトと言う
形で残すことにより、コマンドを打つ手間が飛躍的に省ける。
また、多少の変更にも強い。
- 自分でプロバイダ契約しているときはなるべく接続時間が短い方が良い。
mail コマンドとシェルスクリプトを組み合わせると、
多数のメールを送るのが一度の操作でできる 。
なお、自分で使っているのが C Shell 系だという理由だけで、
独断と偏見で C Shell 系のスクリプトについてのみ書きます。
シェルスクリプトの使い方を例で見てみましょう。
-------------------------------------------------------
例1:コマンドラインからの一連の入力と出力
prompt> echo start test!
start test!
prompt> date
Fri Feb 12 12:06:14 JST 1999
prompt> echo end test!
end test!
-------------------------------------------------------
例1では、コマンドライン(ターミナル上で打つ)から
3つのコマンドを打っています。
echo というのは、後ろの文字列を出力しろ、という命令で、
date は日時を出力します。
これをシェルスクリプトでやってみましょう。
以下の内容を test.sh というファイルに書いておきます。
-------------------------------------------------------
#!/bin/csh -f
echo start test!
date
echo end test!
-------------------------------------------------------
一行目は「これは csh スクリプトなんだよー」ということを教えるおまじないで、
csh というコマンドが置いてある場所を書いておきます。場所の探し方は、
-------------------------------------------------------
prompt> which csh
-------------------------------------------------------
とすれば出て来ます。
後は、このファイルに実行形式を与えるために
-------------------------------------------------------
prompt> chmod +x test.sh
-------------------------------------------------------
としておきましょう。すると、test.sh はあたかも
コマンドのように使えて、実行させた結果は
-------------------------------------------------------
例2:シェルスクリプトの実行と出力
prompt> test.sh
start test!
Fri Feb 12 12:06:14 JST 1999
end test!
-------------------------------------------------------
などとなります。