シェルスクリプトの入門編6:連想配列について

連想配列

JSONみたいなデータ構造を連想配列と言い、シェルスクリプトでもそれを表現することが可能です。

JSONの例:

シェルスクリプトでの連想配列:

宣言の仕方

連想配列の宣言の仕方は特殊でdeclare -A 変数名=([キー1]=値1 [キー2]=値2 [キー3]=値3)のように

先頭にdeclare -Aをつけてその後に変数名と各キーごとの値を入れる形になります。

要素の表示

個別の要素を取り出したいときは${変数名[キー名]}のように配列のインデックスの代わりにキー名を指定すれば良いです。

また、全ての値を出力したい場合は配列と同じく${変数名[@]}とすればよく

全てのキーの場合も同じく${!変数名[@]}とすれば出力できます。

要素の追加

要素の追加は配列と同じように行えます。

個別で追加する場合:

まとめて追加する場合:

要素の更新

要素の更新も配列と同じ感覚です。

要素の削除

要素の削除も配列のインデックスの代わりにキー名を指定すればできます。

連想配列のコピー

連想配列のコピーは単純には行かないみたいです。

配列のようにコピーしても、生成されるのは連想配列の値を持った配列になります。

まとめ

  • 連想配列の宣言はdeclare -Aをつけて行う
  • 要素の表示、追加、更新、削除は配列のインデックスをキー名に変えるだけ
  • 連想配列のコピーは配列のように行っても生成されるのはただの配列

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です