Bash > for文

update 2011-11-27
広告
for文の使い方を紹介します。 Bashのfor文は、いくつかのパターンがあります。
まず最初のパターンは、以下の構文です。
for 変数 in 変数配列
do
    変数を使った処理
done
このパターンは、変数配列から1つずつ変数を取り出して処理します。 変数配列は、空白区切りの文字列でもよいです。デフォルトで空白で区切ってくれます。
以下は、サンプルスクリプト test-for.sh です。
#!/bin/bash

array="aaa bbb ccc"

for var in ${array}
do
    echo $var
done
これを実行すると、以下の結果になります。
test-for$ ./test-for.sh 
aaa
bbb
ccc
echoコマンドが3回呼び出され、それぞれ aaa, bbb, ccc を出力しています。
Bashの配列を利用したサンプルスクリプトは、以下のようになります。 変数配列の部分に、アットマーク(@)を指定する必要があります。
#!/bin/bash

array[0]=aaa
array[1]=bbb
array[2]=ccc

for var in ${array[@]}
do
    echo $var
done
実行すると、test-for.shと同じ結果になります。

もう1つのfor文パターンは、CやJavaっぽい構文です。 「かっこ」が2つずつ必要な点に注意してください。
for (( 変数の初期化; ループ条件; ループ時の処理 ))
do
    変数を使った処理
done
以下は、サンプルプログラム test-for-3.sh です。
#!/bin/bash

array[0]=aaa
array[1]=bbb
array[2]=ccc

for (( i=0; i<3; i++ ))
do
    echo ${array[${i}]}
done
サイズが3の配列の各要素を、ループしながらechoで出力します。 実行結果は、test-for.shと同じになります。
広告
お問い合わせは sweng.tips@gmail.com まで。
inserted by FC2 system