-declare -A BASH_ALIASES='()'
-declare -A BASH_CMDS='()'
-declare -A fluff='()'
-declare -A BASH_ALIASES='()'
-declare -A BASH_CMDS='()'
-declare -A fluff='([bar]="two" [foo]="one" )'
-declare -A fluff='([bar]="two" [foo]="one" )'
-declare -A fluff='([bar]="two" )'
-declare -A fluff='([bar]="newval" [qux]="assigned" )'
+declare -A BASH_ALIASES=()
+declare -A BASH_CMDS=()
+declare -A fluff
+declare -A BASH_ALIASES=()
+declare -A BASH_CMDS=()
+declare -A fluff=([bar]="two" [foo]="one" )
+declare -A fluff=([bar]="two" [foo]="one" )
+declare -A fluff=([bar]="two" )
+declare -A fluff=([bar]="newval" [qux]="assigned" )
./assoc.tests: line 26: chaff: four: must use subscript when assigning associative array
-declare -A BASH_ALIASES='()'
-declare -A BASH_CMDS='()'
-declare -Ai chaff='([one]="10" [zero]="5" )'
-declare -Ar waste='([version]="4.0-devel" [source]="./assoc.tests" [lineno]="28" [pid]="42134" )'
-declare -A wheat='([one]="a" [zero]="0" [two]="b" [three]="c" )'
-declare -A chaff='([one]="10" ["hello world"]="flip" [zero]="5" )'
-./assoc.tests: line 38: unset: waste: cannot unset: readonly variable
-./assoc.tests: line 39: chaff[*]: bad array subscript
-./assoc.tests: line 40: [*]=12: invalid associative array key
-declare -A chaff='([one]="a" ["hello world"]="flip" )'
+declare -A BASH_ALIASES=()
+declare -A BASH_CMDS=()
+declare -Ai chaff=([one]="10" [zero]="5" )
+declare -Ar waste=([version]="4.0-devel" [source]="./assoc.tests" [lineno]="28" [pid]="42134" )
+declare -A wheat=([two]="b" [three]="c" [one]="a" [zero]="0" )
+declare -A chaff=([one]="10" ["hello world"]="flip" [zero]="5" )
+./assoc.tests: line 38: waste: readonly variable
+./assoc.tests: line 39: unset: waste: cannot unset: readonly variable
+./assoc.tests: line 40: chaff[*]: bad array subscript
+./assoc.tests: line 41: [*]=12: invalid associative array key
+declare -A chaff=([one]="a" ["hello world"]="flip" )
flip
argv[1] = <a>
argv[2] = <flip>
argv[3] = <multiple>
argv[4] = <words>
argv[1] = <a flip multiple words>
-./assoc.tests: line 57: declare: chaff: cannot destroy array variables in this way
-./assoc.tests: line 59: chaff[*]: bad array subscript
-./assoc.tests: line 60: [*]=12: invalid associative array key
-declare -A wheat='([six]="6" ["foo bar"]="qux qix" )'
+./assoc.tests: line 58: declare: chaff: cannot destroy array variables in this way
+./assoc.tests: line 60: chaff[*]: bad array subscript
+./assoc.tests: line 61: [*]=12: invalid associative array key
+declare -A wheat=([six]="6" ["foo bar"]="qux qix" )
argv[1] = <qux>
argv[2] = <qix>
argv[1] = <qux qix>
-declare -A wheat='([six]="6" ["foo bar"]="qux qix" )'
+declare -A wheat=([six]="6" ["foo bar"]="qux qix" )
argv[1] = <2>
argv[1] = <7>
argv[1] = <qux>
argv[1] = <qux qix blat>
argv[1] = <16>
argv[1] = <16>
-argv[1] = <flix>
-argv[2] = <6>
+argv[1] = <6>
+argv[2] = <flix>
argv[1] = <six>
argv[2] = <foo>
argv[3] = <bar>
argv[1] = <six>
argv[2] = <foo bar>
8
-/usr/local/bin . /bin /sbin /usr/sbin /usr/bin /bin /usr/ucb
-bin . bin sbin sbin bin bin ucb
+. /sbin /usr/bin /bin /usr/ucb /usr/local/bin /bin /usr/sbin
+. sbin bin bin ucb bin bin sbin
bin
/ / / / / / /
/
argv[1] = <sbin>
argv[1] = </>
8
-/usr/local/bin . /bin /sbin /usr/sbin /usr/bin /bin /usr/ucb
-bin . bin sbin sbin bin bin ucb
+. /sbin /usr/bin /bin /usr/ucb /usr/local/bin /bin /usr/sbin
+. sbin bin bin ucb bin bin sbin
/ / / / / / /
8
4 -- /bin
-^usr^local^bin . ^bin ^sbin ^usr^sbin ^usr^bin ^bin ^usr^ucb
-^usr^local^bin . ^bin ^sbin ^usr^sbin ^usr^bin ^bin ^usr^ucb
-\usr/local/bin . \bin \sbin \usr/sbin \usr/bin \bin \usr/ucb
-\usr\local\bin . \bin \sbin \usr\sbin \usr\bin \bin \usr\ucb
-\usr\local\bin . \bin \sbin \usr\sbin \usr\bin \bin \usr\ucb
+. ^sbin ^usr^bin ^bin ^usr^ucb ^usr^local^bin ^bin ^usr^sbin
+. ^sbin ^usr^bin ^bin ^usr^ucb ^usr^local^bin ^bin ^usr^sbin
+. \sbin \usr/bin \bin \usr/ucb \usr/local/bin \bin \usr/sbin
+. \sbin \usr\bin \bin \usr\ucb \usr\local\bin \bin \usr\sbin
+. \sbin \usr\bin \bin \usr\ucb \usr\local\bin \bin \usr\sbin
([a]=1)
qux foo
blat qux sh foo
/sbin/blat /usr/local/bin/qux /bin/sh /usr/sbin/foo
-foo qux
-argv[1] = </usr/sbin/foo>
-argv[2] = </usr/local/bin/qux>
-argv[3] = <-l>
+qux foo
+argv[1] = </usr/local/bin/qux>
+argv[2] = <-l>
+argv[3] = </usr/sbin/foo>
alias blat='cd /blat ; echo $PWD'
alias foo='/usr/sbin/foo'
alias qux='/usr/local/bin/qux -l'
alias sh='/bin/bash --login -o posix'
-sh foo blat qux
-argv[1] = </bin/bash --login -o posix>
-argv[2] = </usr/sbin/foo>
-argv[3] = <cd /blat ; echo $PWD>
-argv[4] = </usr/local/bin/qux -l>
+blat qux sh foo
+argv[1] = <cd /blat ; echo $PWD>
+argv[2] = </usr/local/bin/qux -l>
+argv[3] = </bin/bash --login -o posix>
+argv[4] = </usr/sbin/foo>
outside: outside
-declare -A BASH_ALIASES='()'
-declare -A BASH_CMDS='()'
-declare -A afoo='([six]="six" ["foo bar"]="foo quux" )'
+declare -A BASH_ALIASES=()
+declare -A BASH_CMDS=()
+declare -A afoo=([six]="six" ["foo bar"]="foo quux" )
argv[1] = <inside:>
argv[2] = <six>
argv[3] = <foo quux>
def
def
./assoc5.sub: line 13: declare: `myarray[foo[bar]=bleh': not a valid identifier
-abc def bleh
-myarray=(["a]a"]="abc" ["]"]="def" ["a]=test1;#a"]="123" [foo]="bleh" )
+bleh abc def
+myarray=(["a]=test1;#a"]="123" [foo]="bleh" ["a]a"]="abc" ["]"]="def" )
123
-myarray=(["a]a"]="abc" ["a]=test2;#a"]="def" ["]"]="def" ["a]=test1;#a"]="123" [foo]="bleh" )
+myarray=(["a]=test1;#a"]="123" [foo]="bleh" ["a]a"]="abc" ["a]=test2;#a"]="def" ["]"]="def" )
bar"bie
doll
-declare -A foo='(["bar\"bie"]="doll" )'
+declare -A foo=(["bar\"bie"]="doll" )
bar"bie
doll
-declare -A foo='(["bar\"bie"]="doll" )'
+declare -A foo=(["bar\"bie"]="doll" )
bar"bie
doll
-declare -A foo='(["bar\"bie"]="doll" )'
+declare -A foo=(["bar\"bie"]="doll" )
bar"bie
doll
-declare -A foo='(["bar\"bie"]="doll" )'
+declare -A foo=(["bar\"bie"]="doll" )
bar"bie
doll
-declare -A foo='(["bar\"bie"]="doll" )'
+declare -A foo=(["bar\"bie"]="doll" )
bar'bie
doll
-declare -A foo='(["bar'\''bie"]="doll" )'
+declare -A foo=(["bar'bie"]="doll" )
bar'bie
doll
-declare -A foo='(["bar'\''bie"]="doll" )'
+declare -A foo=(["bar'bie"]="doll" )
bar'bie
doll
-declare -A foo='(["bar'\''bie"]="doll" )'
+declare -A foo=(["bar'bie"]="doll" )
bar'bie
doll
-declare -A foo='(["bar'\''bie"]="doll" )'
+declare -A foo=(["bar'bie"]="doll" )
bar'bie
doll
-declare -A foo='(["bar'\''bie"]="doll" )'
+declare -A foo=(["bar'bie"]="doll" )
bar$bie
doll
-declare -A foo='(["bar\$bie"]="doll" )'
+declare -A foo=(["bar\$bie"]="doll" )
bar[bie
doll
-declare -A foo='(["bar[bie"]="doll" )'
+declare -A foo=(["bar[bie"]="doll" )
bar`bie
doll
-declare -A foo='(["bar\`bie"]="doll" )'
+declare -A foo=(["bar\`bie"]="doll" )
bar\]bie
doll
-declare -A foo='(["bar\\]bie"]="doll" )'
+declare -A foo=(["bar\\]bie"]="doll" )
bar${foo}bie
doll
-declare -A foo='(["bar\${foo}bie"]="doll" )'
+declare -A foo=(["bar\${foo}bie"]="doll" )
bar
after printf
after use: 0
+declare -A assoc=([0]="assoc" )
+assoc
+declare -A assoc=([two]="twoless" [three]="three" [one]="onemore" )
+declare -Ar assoc=([two]="twoless" [three]="three" [one]="onemore" )