On Wed, Oct 23, 2013 at 01:17:12PM -0700, Evan Gates wrote: > declare -A aarr > aarr[\]]=rbrac > declare -p aarr # this should print a legal declaration for aarr > eval $(declare -p aarr) # results in "bash: []]=rbrac: bad array subscript"
Cannot reproduce in bash 4.3-beta2. imadev:~$ unset a imadev:~$ declare -A a; a[\]]=foo imadev:~$ declare -p a declare -A a='(["]"]="foo" )' imadev:~$ eval "$(declare -p a)" imadev:~$ eval $(declare -p a) imadev:~$ echo $BASH_VERSION 4.3.0(1)-beta2 Looks like it was fixed since 4.2: imadev:~$ bash-4.2 -c 'unset a; declare -A a; a[\]]=foo; eval $(declare -p a)' bash-4.2: []]=foo: bad array subscript