シェルスクリプト制御構文

シェルスクリプト制御構文

シェルスクリプトでは、処理結果により進行処理内容を制御する構文が用意されています。

プログラミング的に制御処理を記述することができます。


if

処理を条件分岐させる場合に「if文」を使用します。


if [ 条件文 ]
then
  実行処理
elif [ 条件文 ]
then
  実行処理
else
  実行処理
fi
  • 「 if [ 条件 ] 」の記述にて、条件文の前後にはスペースを入れないとエラーとなります。

case

変数の値によって複数列挙された条件分岐を行う場合には「case文」を使用します。


case 変数 in
  条件文) 実行処理;;
  条件文) 実行処理;;
  条件文 | 条件文) 実行処理;;
  *) 実行処理;;
esac

  • 「;;」は「case文を抜ける」という意味です。
  • 「*)」は全ての条件文にもあてはまらない場合の処理です。省略可能です。
  • 条件文を「 | 」で区切ることで、論理和(or)制御することもできます。
  • 条件文には正規表現を使うことができます。

for

指定回数処理を繰り返し(ループ)実行したい場合には「for文」を使用します。


for 変数 in 引数1 引数2 …
do
  実行処理
done
  • 処理を途中で中断してループを抜けたい場合は「break」を使用します。
  • ループの先頭に戻りたい場合は「continue」を使用します。

while

条件が真である限り、繰り返し(ループ)処理を実行したい場合は「while文」を使用します。


while [ 条件文 ]
do
  実行処理
done
  • 処理を途中で中断してループを抜けたい場合は「break」を使用します。
  • ループの先頭に戻りたい場合は「continue」を使用します。
  • 条件文の前後にはスペースを入れないとエラーとなります。

until

条件が偽である限り、繰り返し処理を実行したい場合は「until文」を使用します。


until [ 条件文 ]
do
  実行処理
done
  • 処理を途中で中断してループを抜けたい場合は「break」を使用します。
  • ループの先頭に戻りたい場合は「continue」を使用します。
  • 条件文の前後にはスペースを入れないとエラーとなります。

関連ページ