1. ホーム
  2. bash

[解決済み] BashスクリプトでKey-Valueペアを作成する方法はありますか?

2022-12-19 08:22:41

質問

Bashスクリプトを使用して、キーと値のペアの辞書を作成しようとしています。私はこのロジックを使用してしようとしています。

declare -d dictionary
defaults write "$dictionary" key -string "$value"

...ここで $dictionary は変数ですが、これはうまくいきません。

Bashスクリプトでkey-valueペアを作成する方法はありますか?

どのように解決するのですか?

bashのバージョン4で連想配列が導入されました。

declare -A arr

arr["key1"]=val1

arr+=( ["key2"]=val2 ["key3"]=val3 )

arr配列に3つのキーと値のペアが入っています。しかし、Bashはこれらでできることをかなり制限しており、ソートやポッピングなどはできません。

for key in ${!arr[@]}; do
    echo ${key} ${arr[${key}]}
done

すべてのキーの値をループして、それらをエコー出力します。

注意してください。 Bash 4はGPLv3ライセンスのため、Mac OS Xには付属していませんので、ダウンロードし、インストールする必要があります。詳しくは をご覧ください。