for または foreach コマンドは、処理の流れ(フロー)を制御する構文です。特定のアクションを複数回繰り返して実行させることができます。
シェル | for | foreach |
---|---|---|
sh | ✓ | ✗ |
bash | ✓ | ✗ |
csh | ✗ | ✓ |
dash | ✓ | ✗ |
ksh | ✓ | ✗ |
for variable do commands done
for variable in values
do commands
done
for variable in `cmd`
do commands
done
変数を指定する。
$ for i in 2 4 6
> do echo $i
> done
2
4
6
セミコロンで区切ることにより、1行で記述できる。
$ for i in 2 4 6 ; do echo $i ; done
2
4
6
$ for i in `seq -w 3` ; do echo $i ; done
1
2
3
繰り返し実行するコマンドを指定する。 複数のコマンドをセミコロン(
;
) 又は改行で区切って指定することができる。
コマンドが実行されるたびに、変数は in のリストから次に得られる値に設定されます。in 値 を省略すると、for コマンドは、設定された各定位値パラメタに対して、do を 1 回実行します ( 後述の「パラメタ置換」を参照 ) 。リストの値がなくなると、実行は終了します。
for para do echo $para ; done
for msgsize in 4 8 12 16
do
echo $msgsize
done
for i in `seq -w 3`
do
echo $i
done