配列に入れた変数でfor文を回す

ビミョーなタイトルになってしまいましたが,何かしらの言語を使っていればすんなりわかって頂けるかと。ここでは,bashでこれをどう書くか,という話です。


bashでは,配列に変数を入れておいて,これを「@」でスペース区切りに展開することで実現します*1。「*」でも同じ結果になります。

ARRAY=(adenine cytosine guanine thymine uracil)    # bashでの1次元配列

for BASE in ${ARRAY[@]}; do    # もしくは${ARRAY[*]}
  echo $BASE
done

なお,配列の要素数は「#」を使って,次のようにして得られるようです*2

echo ${#ARRAY[@]}    # もしくは${#ARRAY[*]}


bashにおける配列について自分は全然理解していませんが,

配列の詳細については,Cameron Newham著『Learning the bash Shell』(『入門bash 第3版』)を参照。
p.117

http://amzn.to/Uk7tIk

だそうです。