配列の作成
hoge=(foo bar fuga) # -> [foo, bar, fuga]を要素とする配列hogeが作成される
配列の参照
echo $hoge # -> foo echo ${hoge[0]} # -> foo echo ${hoge[@]} # -> foo bar fuga
そのまま$hoge[0]
みたいに書くと、ブラケットが分離されて$hoge
と[0]
を表示するものと解釈されてしまうので、ブレースをつけないといけません。
また、添字を付けなかった場合、一つ目のように第一要素への参照と扱われてしまいます。全要素が欲しければ最後のように、添字に[@]
を指定してあげます。
配列の長さの取得
echo ${#hoge[*]} # -> 3
配列の長さを取得するには、配列名の前に#
、添字に*
をつけます。
配列の要素でループ
for entry in "${hoge[@]}"; do echo $entry done # -> "foo", "bar", "fuga"が順に表示される
ダブルクオーテーションをつけないと、もしhoge
の要素にスペースを含む文字列があった場合、その要素が分割されてしまうので、ダブルクオーテーションをつける必要があるようです。