Bashでfor文を利用する
Bashにおけるfor文の使い方。
Bashのfor文は、いくつかのパターンがある。
パターン1:変数配列から1つずつ変数を取り出して処理するパターン
変数配列は、空白区切りの文字列でもOK。
デフォルトで空白区切りとなっている。
1 2 3 4 | for 変数 in 変数配列 do 変数を使った処理 done |
以下、サンプル。
1 2 3 4 5 6 | #!/bin/bash array="aaa bbb ccc" for var in ${array} do echo $var done |
実行結果。
echoコマンドが3回呼び出され、それぞれaaa、bbb、cccが出力される。
1 2 3 4 | -bash-3.2$ ./test_for1.sh aaa bbb ccc |
パターン2:Bashの配列を利用するバターン
変数配列の部分に、アットマーク(@)を指定する。
以下、サンプル。
1 2 3 4 5 6 7 8 | #!/bin/bash array[0]=aaa array[1]=bbb array[2]=ccc for var in ${array[@]} do echo $var done |
実行結果は、”test_for1.sh”と同じ結果になる。
パターン3:CやJava風の構文
「かっこ」が2つずつ必要な点に注意。
1 2 3 4 | for (( 変数の初期化; ループ条件; ループ時の処理 )) do 変数を使った処理 done |
以下、サンプル。
1 2 3 4 5 6 7 8 | #!/bin/bash array[0]=aaa array[1]=bbb array[2]=ccc for (( i=0; i<3; i++ )) do echo ${array[${i}]} done |
実行結果は、”test_for1.sh”と同じ結果になる。