bashで配列の扱い方
bashのshellスクリプトで配列の定義方法と取り出し方についてメモ。
下記のコードで確認します。
#!/bin/bash declare -A FRUITS; FRUITS=(["apple"]="100" ["banana"]="120" ["orange"]="150"); for f in ${FRUITS[@]}; do echo ${f}; done declare -a ANIMAL; ANIMAL=("dog" "cat" "bird"); for a in ${ANIMAL[@]}; do echo ${a}; done
実行結果
150 100 120 dog cat bird
解説
配列の定義
declare
は変数の宣言をするコマンドです。オプションには主に下記があります。
option | 意味 |
---|---|
-a | 配列として定義 |
-A | 連想配列として定義 |
-i | 整数型として定義 |
-r | 参照のみ可能な変数として定義 |
今回は連想配列と配列について確認しました。 例では変数FRUITSとANIMALを定義し、それぞれ連想配列と配列として扱います。
配列からデータの取り出し方
for文を使って配列からデータを取り出します。 取り出し方はどちらも同じですが、連想配列の場合、以下のようにするとkeyの値が取れます。
declare -A FRUITS; FRUITS=(["apple"]="100" ["banana"]="120" ["orange"]="150"); for f in ${!FRUITS[@]}; do # <- ! (エクスクラメーションマーク)を付ける echo ${f}; done # 結果 orange apple banana