まくまくLinux/Shellノート
シェルスクリプト: 配列をループ処理する
2010-09-06

Bash シェルスクリプトで配列変数の要素をループ処理する方法です。

下記の例では、3 つの要素を持つ配列変数 arr を定義し、各要素をループで 1 つずつ処理しています。 配列要素の値にスペースが含まれる場合、下記の "CCC DDD" のようにダブルクォートで囲む必要があります。

arr=(AAA BBB "CCC DDD")

for x in "${arr[@]}"; do
  echo "$x"
done

実行結果

AAA
BBB
CCC DDD

ちなみに、上記のコードは、以下のようにすれば配列変数を定義しないで書けます。

for x in AAA BBB "CCC DDD"; do
  echo "$x"
done
2010-09-06