5.2. プログラミングの復習


  シェル・スクリプトを実際に書くには、プログラミングに関する知識が必要である。ここで、プログラミングの基本的な考え方を簡単に復習する。

  構造化プログラミング

  シェル・スクリプトやC言語は、手続き指向型のプログラミング言語である。一方、C++やJAVAなどはオブジェクト指向型のプログラミング言語である。

  人間はプログラムを書くとき、間違える可能性がある。このとき、正しい、さらにバグの少ないプログラムを作るには、構造化プログラミングという基本的な概念を用いる必要がある。要するに、プログラムを個別の部品(パーツ)の組合せで完成させることが構造化プログラミングである。

  構造化プログラミングの基本的な部品(基本構造)は、

  ・連接(連続):プログラムを連続的に実行すること

  ・選択        :条件の確認

  ・反復        :繰り返し

  簡単な例:ドライビング

  (1):  ・車の鍵を開けて
             ・車に乗って
             ・シートベルトをして
             ・エンジンをかける

などを順番に行う。ただし、やることの順番はきちんと決まっており、その順番に従って行わなければならない(例えば、車の鍵を開ける前にエンジンをかけることはできない)。

  (2)選択:   ・ガソリンのレベルを見る
              ・ガソリンが十分入っていれば、そのままドライビング
              ・ガソリンが足りなさそうならば、ガソリンスタンドでガソリンを入れる

要するに、「ガソリンのレベル」という条件を確認し、足りないようだったらガソリンを入れる選択をするし、足りるようだったら、そのまま高速道路に乗る選択ができる。

  (3)反復     ガソリンスタンドでガソリンを入れてもらうまで待つ。ここで、「ガソリンスタンドの店員が忙しい間」が反復条件である。この条件が成立する間は「並んで待つ」ということを行うこととなる。もちろん、ガソリンスタンドに並んで待つ必要がなければ、反復処理は実行されない。

  bashシェルの基本的文法

  ・コメントアウト:  #

  ・選択(if文):
if 条件 then コマンド1 else コマンド2
fi

  ・case文:
case 値 in パターン1) コマンド1;;
           パターン2) コマンド2;;
           パターン3) コマンド3;; 
esac

  ・while文:
while 条件 do コマンド
done
 
  ・until文:
until 条件 do コマンド
done

  ・for文:
for 変数 in 値1 値2 値3 do コマンド
done

  ・break文

  ・exit文


戻る       目次              進む