シェルスクリプト制御構文
シェルスクリプト制御構文
シェルスクリプトでは、処理結果により進行処理内容を制御する構文が用意されています。
プログラミング的に制御処理を記述することができます。
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」を使用します。
- 条件文の前後にはスペースを入れないとエラーとなります。