|
■
制御構文 - while、case -
シェルの制御構文のうち、while、case文について説明します。
while文
条件が真である間 do done をループします。以下にサンプルを示します。条件に関しては後ろのほかのページで説明しています。
ファイル名 : test9.1.sh
1: #!/usr/bin/sh
2: a=1
3: while [ a -lt 3 ]
3: do
4: echo "a = $a"
5: a=`expr $a + 1`
6: done
|
実行結果は以下のようになります。
1: $ chmod u+x test9.1.sh
2: $ test9.1.sh
3: a = 1
4: a = 2
|
case文
case 変数 in
パターン1) コマンド;;
パターン2) コマンド;;
パターン3) コマンド;;
esac
|
変数が一致するパターンの後ろのコマンドが実行されます。パターンには正規表現が使えます。ここでは説明しませんが、このサイトのリンク集に正規表現リファレンスを扱うページへのリンクを記しました。必要に応じてご参照ください。
下にwhile文の例を示します。
ファイル名 : test9.2.sh
1: #!/usr/bin/sh
2: case $1 in
3: A) echo "引数はAです。";;
4: B) echo "Bが引数につけられました。";;
5: C) echo "Cは引数です。";;
6: esac
|
実行結果は以下のようになります。
1: $ chmod u+x test9.2.sh
2: $ test9.2.sh B
3: Bが引数につけられました。
4: $ test9.2.sh C
5: Cは引数です。
|
|