Bashで連想配列を宣言する方法をお伝えします。
declareコマンドで「-A」オプションを使用します。
1 |
declare -A 変数名=([要素名1]=値1 [要素名2]=値2 [要素名3]=値3) |
実際に確認してみましょう。
1 2 |
[root@kamatora ~]# declare -A kamo=([tora1]="one" [hoge2]="two" [fuge3]="three") [root@kamatora ~]# |
連想配列へのアクセス時には気を付けましょう。
以下の形式でアクセスします。
1 |
${配列名[要素名]} |
このようになります。
1 2 3 4 5 6 7 |
[root@kamatora ~]# echo ${kamo[tora1]} one [root@kamatora ~]# echo ${kamo[hoge2]} two [root@kamatora ~]# echo ${kamo[fuge3]} three [root@kamatora ~]# |
「{}」を省略すると以下のようになります。
「$配列名」でアクセスすると、何も表示されません。
1 2 |
[root@kamatora ~]# echo $kamo [root@kamatora ~]# |
そのため、先ほどの「echo $kamo[hoge2]」は、「 $kamo 」と「 [hoge2] 」が並んでいるとみなされるわけですね。
連想配列を使用する際にはご注意ください。