bash 連想配列 メモ
bashでは連想配列が使用できる。一般的なプログラミング言語ではハッシュやマップ、辞書に相当する
作成するにはdeclare -Aで明示的に宣言する必要がある。参照にはインデックスの代わりにキーを指定する
$ declare -A user $ user=([id]=1 [name]=zykb) # 宣言と代入を1行で $ declare -A user=([id]=1 [name]=zykb) $ echo ${user[id]} 1 $ echo ${user[name]} zykb
$ echo ${#user[@]} 2
要素の代入もキーを指定する。すでに値が存在していれば上書き、そうでなければ新しいキーと値の組み合わせを追加する
$ user[name]=zykb2 $ echo ${user[name]} zykb2 $ user[email]=sample@example.com $ echo ${user[email]} sample@example.com
要素の削除には配列と同じくunsetコマンドを使用する
また、全ての値を取得するには${連想配列名[@]}とする
$ unset user[name] $ echo "${user[@]}" 1 sample@example.com
要素ではなくキーを取得するには前に!をつける
$ echo "${!user[@]}" id email