在zsh
我可以使用单个命令轻松转储关联数组的内容:
zsh% typeset -A foo
zsh% foo=(a 1 b 2)
zsh% typeset foo
foo=(a 1 b 2 )
然而,尽管搜索高低,我能找到的最好的是declare -p
,其输出包含declare -A
:
bash$ typeset -A foo
bash$ foo=([a]=1 [b]=2)
bash$ declare -p foo
declare -A foo='([a]="1" [b]="2" )'
有没有一种干净的方法来获得类似zsh
输出的东西(理想情况下foo=(a 1 b 2 )
或foo='([a]="1" [b]="2" )'
),最好不诉诸字符串操作?