2

私は Bash の連想配列を保存 (そしてもちろん取得) したいと考えており、それを行う簡単な方法を探しています。

すべてのキーを見て、それを行うことが可能であることを私は知っています:

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

それを取得することは、ループで行うこともできます:

declare -A arr
while read key value
do
  arr[$key]=$value
done < store

setしかし、このスタイルで配列のバージョンを出力することもわかります:

arr=([key1]="value1" [key2]="value2" )

(残念ながら、他のすべてのシェル変数と一緒です。)

提案されたループよりも、連想配列を格納および取得する簡単な方法はありますか?

4

1 に答える 1

6

ファイルに保存するには:

declare -p arr > saved.sh

(必要に応じてtypeset代わりに使用することもできdeclareます。)

ファイルからロードするには:

source saved.sh
于 2015-04-08T09:04:05.310 に答える