declare -A assoc=(["x],b[\$(echo uname >&2)"]="1" ) declare -A assoc=(["\$key"]="1" ["x],b[\$(echo uname >&2)"]="1" ) declare -A assoc=(["\$key"]="1" ["x],b[\$(echo uname >&2)"]="2" ) ./quotearray.tests: line 31: ((: 'assoc[x\],b\[\$(echo uname >&2)]++' : syntax error: operand expected (error token is "'assoc[x\],b\[\$(echo uname >&2)]++' ") declare -A assoc=(["\$key"]="1" ["x],b[\$(echo uname >&2)"]="2" ) ./quotearray.tests: line 34: ((: 'assoc[x\],b\[\$(echo uname >&2)]'++ : syntax error: operand expected (error token is "'assoc[x\],b\[\$(echo uname >&2)]'++ ") declare -A assoc=(["\$key"]="1" ["x],b[\$(echo uname >&2)"]="2" ) declare -A assoc=(["\$key"]="1" ["x],b[\$(echo uname >&2)"]="3" ) 4 klmnopqrst klmnopqrst klmno klmnopqrst declare -A A=(["\$(echo %)"]="5" [%]="10" ["]"]="10" ) declare -A A=(["~"]="42" ) 42 declare -A A=(["~"]="43" ) 42 declare -A A=(["~"]="43" ["~0"]="43" ) 12 declare -a a=([0]="12" [1]="42") 2 2 declare -Ai assoc=(["']"]="2" ["\$var"]="1" ) 105 declare -A assoc=(["\` echo >&2 foo\`"]="42" ["\$( echo >&2 bar)"]="63" ) ./quotearray.tests: line 139: x],b[$(echo uname >&2): syntax error: invalid arithmetic operator (error token is "],b[$(echo uname >&2)") ./quotearray.tests: line 143: x],b[$(echo uname >&2): syntax error: invalid arithmetic operator (error token is "],b[$(echo uname >&2)") 1 ./quotearray.tests: line 146: x],b[$(echo uname >&2): syntax error: invalid arithmetic operator (error token is "],b[$(echo uname >&2)") 1 ./quotearray.tests: line 149: x],b[$(echo uname >&2): syntax error: invalid arithmetic operator (error token is "],b[$(echo uname >&2)") 1 ./quotearray.tests: line 152: x],b[$(echo uname >&2): syntax error: invalid arithmetic operator (error token is "],b[$(echo uname >&2)") 1 declare -A assoc 0 0 1 0 0 0 declare -A assoc=(["\` echo >&2 foo\`"]="128" [0]="0" ["]"]="12" ["x],b[\$(echo uname >&2)"]="42" ["~"]="42" ["\$( echo 2>& date)"]="foo" ) foo 0 0 ./quotearray1.sub: line 67: 0\],b\[1: syntax error: invalid arithmetic operator (error token is "\],b\[1") declare -a array 0 0 0 0 1 1 declare -A aa=(["\$( echo 2>& date)"]="foo" ) foo 0 1 declare -A a=([1]="1" [0]="0" [" "]="11" ) 7 7 declare -A A=([$'\t']="2" [" "]="2" ) declare -A A=([$'\t']="2" ["*"]="2" [" "]="2" ["]"]="2" ["@"]="2" ) ./quotearray2.sub: line 54: read: `A[]]': not a valid identifier declare -A A=([$'\t']="X" ["*"]="X" [" "]="X" ["@"]="X" ) ./quotearray2.sub: line 62: printf: `A[]]': not a valid identifier declare -A A=([$'\t']="X" ["*"]="X" [" "]="X" ["@"]="X" ) ./quotearray2.sub: line 70: declare: `A[]]=X': not a valid identifier declare -A A=(["*"]="X" ["@"]="X" ) ./quotearray2.sub: line 78: declare: `A[]]=X': not a valid identifier declare -A A=(["*"]="X" ["@"]="X" ) ./quotearray2.sub: line 89: let: assoc[x],b[$(echo: bad array subscript (error token is "b[$(echo") declare -A assoc declare -A assoc=(["\$var"]="value" ) declare -A assoc=(["\$var"]="value" ) declare -A assoc=(["\$var"]="value" ) declare -A assoc=() declare -A a=() declare -A a=(["\$(echo foo)"]="1" ) declare -A a=() declare -A a=(["\$(echo foo)"]="1" ) declare -A assoc=(["!"]="bang" ) 0 1