JP1/Advanced Shell
形式1
for 変数[in wordlists] do 処理 done
形式2
for 変数[in wordlists];do 処理 done
機能
値を順次変化させながら,同じ処理を繰り返し実行する制御文です。
説明
先頭にfor文があり,doとdoneで終わります。ループの回数はwordlistsの要素数で決定します。変数にはwordlistsの各要素が左から順に代入され,doからdoneの間に記述された処理を実行します。wordlistsの各要素をすべて代入し終えると,for文は終了します。
wordlistsの各要素は,「要素1 要素2 ...要素n」のようにスペースで指定します。
wordlistsに変数を指定した場合,指定した変数の値をdoからdoneの間に変更してもfor文の変数に代入される値は変更されません。
wordlistsに「$@」と指定された場合,ジョブ定義スクリプトの引数をwordlistsとして使用します。また,in wordlistsは省略できますが,in wordlistsを省略した場合はwordlistsに「$@」が指定された場合と同じ処理をします。
doを「{」,doneを「}」で記述できます。しかしdoの場合はdoneを,「{」の場合は「}」を省略できません。それぞれの対応が合わない場合,構文不正でエラー終了します。
wordlistsの直後に「;」を付けた場合,継続して記述できます。
使用例
- 値を変えて表示を3回繰り返します。
for num in 1 2 3 do echo "num is $num" done
All Rights Reserved. Copyright (C) 2011, 2012, Hitachi, Ltd.