シェルスクリプトの作り方

シェルスクリプトとは

シェルスクリプトとはUNIXのコマンドを組み合わせて作るプログラムのことである。
コマンドラインから打ち込んで実行されるコマンドをひとつ以上ファイルに書いておくと、それらのコマンドを後から一つのコマンドのように何度でも実行できるようになる。
これはいつも同じ、複数のコマンドを実行しなければならない時などに便利である。
そして、それだけはなく後で学習するようにC言語のような変数・制御構造なども使えるので更に複雑な処理もできる。

簡単なシェルスクリプトの作り方

例1

とりあえず簡単なシェルスクリプトを作ってみる。

  1. まず、viで以下の内容のファイルをtest.shという名前で作る。
    (ファイル名は何でも良いが、後ろに.shをつけておくとわかりやすくて良い)
    test.shの中にはlsだけ書き込んでviを終了する。 ls
  2. そのファイルの中に書いたコマンド(この場合はls)を実行する。
    そのためにcshというコマンドの後に今作ったファイルの名前を打ち込む。
    (C言語のようにコンパイルする必要が無いことに注意)
    	# csh test.sh       <- test.shを実行する
    	test.sh             <- test.shを実行した結果(lsが実行されている)
    	# ls
    	test.sh             <- キーボードから直接打ち込んだlsの結果
    	
    もちろん表示されるファイル名は各自で違うものが表示されるかもしれない。
    ここでのポイントはcsh test.shと打ち込むとlsと打ったのと同じ結果になっていることである。
  3. 別のコマンドが書き込まれた新しくtest2.shというシェルスクリプトを作ってみる。
    	# vi test2.sh        <- test2.shを作る
    	# cat test2.sh       <- test2.shの中身を表示
    	pwd
    	# csh test2.sh       <- test2.shを実行する
    	/home/au990101
    	# pwd               <- 直接pwdを実行する
    	/home/au990101
    	

例2

次に、2つ以上のコマンドをファイルに書き込んで実行してみよう。

  1. test3.shに2つ以上のコマンドを並べて書いておく。
    date
    pwd
    
  2. test3.shを実行する。
    	# csh test3.sh       <- test3.shを実行する
    	 Wed Apr 12 19:20:14 JST 2000          <- dateの結果
    	/home/au990101   <- pwdの結果
    	

例3

シェルスクリプトでは書き込まれたコマンドが、キーボードから直接実行するときと同じように実行されてゆくが、すべてが同じになるわけではない。

  1. test4.shに以下のコマンドを書き込んでおく。
    mkdir tmp
    cd tmp
    pwd
    
  2. test4.shを実行する。
    	# pwd
    	/home/au990101
    	# csh test4.sh       <- test4.shを実行する
    	/home/au990101/tmp   <- test4.shの中のpwdの結果
    	# pwd     <- もう一度pwdを実行する
    	/home/au990101       <- test4.sh実行前と変っていない
    	

まとめ

参考


Prev | Next
Home | Contents
abe@injapan.net