5. シェル スクリプト(bashシェルの場合のみ)


5.1. シェル スクリプトとは?

  今まで、シェルにコマンドを対話的に渡して実行させた。しかし、シェルには対話的でない使い方もある。要するに、実行したい内容をプログラムにまとめて、そのプログラムを一括して実行する使い方である。

  プログラムを作るには、まずプログラミング言語で記述されたソース・プログラム(ソース・コードともいう)が必要である。これを実際に実行するには、2つの方式がある。

  (1)コンパイラ方式

  compiler

  (2)インタプリタ方式

  interpreter  

  大きくて複雑なプログラムを組むときにはコンパイラ方式を利用し、小さくて簡単なプログラムを組むときにはインタプリタ方式を利用することが多い。

  インタプリタ方式のプログラムはスクリプトともいい、特に、シェル用のプログラムはシェル・スクリプトという。これらはシェルが解釈して実行するテキスト形式のファイルである。

  要するに、シェルスクリプトは対話的にコマンドを実行する流れと同じように自動的に実行される場合に使う。

  :テキストエディターで次のスクリプトを入力し、ファイル名sample1で保存しよう。
      #!/bin/sh
      echo the current date is
      date

このスクリプトを
      sh sample1

あるいは、
      bash sample1

で実行することができる。

  または、ファイルの冒頭に
#!/bin/sh

を記述しておけば、ファイルのパーミッションに実行権限を与えることによって、ファイル名を入力して実行できる。

  まず、ファイルに実行権限を与える:

  chmod u+x sample1

そしてそれを確認する:

  ls -l sample1

すると、

  ./sample1

を入力すると、シェル・スクリプトが実行できる。

  bashシェルでは、シェル・スクリプトを実行するのにもう一つの方法がある。それは「.」コマンドである。

  . ./sample1

あるいは、

  source ./sample1

と入力すれば、スクリプトが実行される。

  しかし、「sh」コマンドと「.」コマンドには大きな違いがある。

  ・sh」コマンドの場合、新しいシェルを別途起動して、スクリプトを解釈、実行する。

  ・「.」コマンドの場合、「.」コマンドを入力したシェルが直接スクリプトを解釈、実行する。



戻る                              目次                           進む