はじめに
Bash
で連想配列が出来るのを知って感動的だったのでメモ- (追記)参考にさせて頂いたサイトとタイトル等が被ってしまい大変申し訳ございません
参考
こんな感じで
例
以下のような感じで利用する。
#!/bin/bash declare -A H H["key1"]="value1" H["key2"]="value2" H["key3"]="value3" # 上記は以下のようにも書くことが出来る(こちらの書き方が好き) # H=( \ # ["key1"]="value1" \ # ["key2"]="value2" \ # ["key3"]="value3" # ) for i in ${!H[@]}; do echo "${i} => [${H[$i]}]" done
ポイントは declare
での変数の型宣言(-A
でハッシュ型を宣言する)。但し Bash
バージョンが 4 以上であることが前提。
実行結果
以下のように表示される。
key3 => [value3] key2 => [value2] key1 => [value1]
ちなみに
Value
だけ取得する場合には以下のように書く。
for i in ${H[@]}; do echo "${i}" done
以下、実行結果。
value3 value2 value1
同じく
Key
だけ取得したい場合には以下のように書く。
for i in ${!H[@]}; do echo "${i}" done
以下、実行結果。
key3 key2 key1
これで
- 色々と捗った