]> git.ipfire.org Git - thirdparty/bash.git/blob - tests/assoc.right
bash-5.0 distribution sources and documentation
[thirdparty/bash.git] / tests / assoc.right
1 declare -A BASH_ALIASES=()
2 declare -A BASH_CMDS=()
3 declare -A fluff
4 declare -A BASH_ALIASES=()
5 declare -A BASH_CMDS=()
6 declare -A fluff=([foo]="one" [bar]="two" )
7 declare -A fluff=([foo]="one" [bar]="two" )
8 declare -A fluff=([bar]="two" )
9 declare -A fluff=([bar]="newval" [qux]="assigned" )
10 ./assoc.tests: line 26: chaff: four: must use subscript when assigning associative array
11 declare -A BASH_ALIASES=()
12 declare -A BASH_CMDS=()
13 declare -Ai chaff=([zero]="5" [one]="10" )
14 declare -Ar waste=([lineno]="28" [source]="./assoc.tests" [version]="4.0-devel" [pid]="42134" )
15 declare -A wheat=([two]="b" [three]="c" [zero]="0" [one]="a" )
16 declare -A chaff=(["hello world"]="flip" [zero]="5" [one]="10" )
17 ./assoc.tests: line 38: waste: readonly variable
18 ./assoc.tests: line 39: unset: waste: cannot unset: readonly variable
19 ./assoc.tests: line 40: chaff[*]: bad array subscript
20 ./assoc.tests: line 41: [*]=12: invalid associative array key
21 declare -A chaff=(["hello world"]="flip" [one]="a" )
22 flip
23 argv[1] = <multiple>
24 argv[2] = <words>
25 argv[3] = <flip>
26 argv[4] = <a>
27 argv[1] = <multiple words>
28 argv[2] = <flip>
29 argv[3] = <a>
30 argv[1] = <multiple>
31 argv[2] = <words>
32 argv[3] = <flip>
33 argv[4] = <a>
34 argv[1] = <multiple words flip a>
35 ./assoc.tests: line 58: declare: chaff: cannot destroy array variables in this way
36 ./assoc.tests: line 60: chaff[*]: bad array subscript
37 ./assoc.tests: line 61: [*]=12: invalid associative array key
38 declare -A wheat=(["foo bar"]="qux qix" [six]="6" )
39 argv[1] = <qux>
40 argv[2] = <qix>
41 argv[1] = <qux qix>
42 declare -A wheat=(["foo bar"]="qux qix" [six]="6" )
43 argv[1] = <2>
44 argv[1] = <7>
45 argv[1] = <qux>
46 argv[2] = <qix>
47 argv[3] = <blat>
48 argv[1] = <qux qix blat>
49 argv[1] = <16>
50 argv[1] = <16>
51 argv[1] = <flix>
52 argv[2] = <6>
53 argv[1] = <foo>
54 argv[2] = <bar>
55 argv[3] = <six>
56 argv[1] = <foo bar>
57 argv[2] = <six>
58 8
59 /sbin /usr/bin /bin /usr/ucb /usr/local/bin . /usr/sbin /bin
60 sbin bin bin ucb bin . sbin bin
61 bin
62 / / / / / / /
63 /
64 argv[1] = <bin>
65 argv[1] = </>
66 argv[1] = <sbin>
67 argv[1] = </>
68 8
69 /sbin /usr/bin /bin /usr/ucb /usr/local/bin . /usr/sbin /bin
70 sbin bin bin ucb bin . sbin bin
71 / / / / / / /
72 8
73 4 -- /bin
74 ^sbin ^usr^bin ^bin ^usr^ucb ^usr^local^bin . ^usr^sbin ^bin
75 ^sbin ^usr^bin ^bin ^usr^ucb ^usr^local^bin . ^usr^sbin ^bin
76 \sbin \usr/bin \bin \usr/ucb \usr/local/bin . \usr/sbin \bin
77 \sbin \usr\bin \bin \usr\ucb \usr\local\bin . \usr\sbin \bin
78 \sbin \usr\bin \bin \usr\ucb \usr\local\bin . \usr\sbin \bin
79 ([a]=1)
80
81 foo qux
82 /usr/sbin/foo /usr/local/bin/qux
83 hits command
84 0 /sbin/blat
85 0 /usr/sbin/foo
86 0 /bin/sh
87 0 /usr/local/bin/qux
88 blat foo sh qux
89 /sbin/blat /usr/sbin/foo /bin/sh /usr/local/bin/qux
90
91 foo qux
92 argv[1] = </usr/sbin/foo>
93 argv[2] = </usr/local/bin/qux>
94 argv[3] = <-l>
95 alias blat='cd /blat ; echo $PWD'
96 alias foo='/usr/sbin/foo'
97 alias qux='/usr/local/bin/qux -l'
98 alias sh='/bin/bash --login -o posix'
99 blat foo sh qux
100 argv[1] = <cd /blat ; echo $PWD>
101 argv[2] = </usr/sbin/foo>
102 argv[3] = </bin/bash --login -o posix>
103 argv[4] = </usr/local/bin/qux -l>
104 outside: outside
105 declare -A BASH_ALIASES=()
106 declare -A BASH_CMDS=()
107 declare -A afoo=(["foo bar"]="foo quux" [six]="six" )
108 argv[1] = <inside:>
109 argv[2] = <foo quux>
110 argv[3] = <six>
111 outside 2: outside
112 argv[1] = </barq//fooq>
113 argv[1] = <>
114 argv[2] = <barq>
115 argv[3] = <>
116 argv[4] = <fooq>
117 argv[1] = </bar!//foo!>
118 argv[1] = <>
119 argv[2] = <bar!>
120 argv[3] = <>
121 argv[4] = <foo!>
122 argv[1] = </arq//ooq>
123 argv[1] = <>
124 argv[2] = <arq>
125 argv[3] = <>
126 argv[4] = <ooq>
127 argv[1] = </Barq//Fooq>
128 argv[1] = <>
129 argv[2] = <Barq>
130 argv[3] = <>
131 argv[4] = <Fooq>
132 argv[1] = </BARQ//FOOQ>
133 argv[1] = <>
134 argv[2] = <BARQ>
135 argv[3] = <>
136 argv[4] = <FOOQ>
137 abc
138 def
139 def
140 ./assoc5.sub: line 13: declare: `myarray[foo[bar]=bleh': not a valid identifier
141 bleh def abc
142 myarray=([foo]="bleh" ["]"]="def" ["a]=test1;#a"]="123" ["a]a"]="abc" )
143
144 123
145 myarray=([foo]="bleh" ["]"]="def" ["a]=test2;#a"]="def" ["a]=test1;#a"]="123" ["a]a"]="abc" )
146 bar"bie
147 doll
148 declare -A foo=(["bar\"bie"]="doll" )
149 bar"bie
150 doll
151 declare -A foo=(["bar\"bie"]="doll" )
152 bar"bie
153 doll
154 declare -A foo=(["bar\"bie"]="doll" )
155 bar"bie
156 doll
157 declare -A foo=(["bar\"bie"]="doll" )
158 bar"bie
159 doll
160 declare -A foo=(["bar\"bie"]="doll" )
161 bar'bie
162 doll
163 declare -A foo=(["bar'bie"]="doll" )
164 bar'bie
165 doll
166 declare -A foo=(["bar'bie"]="doll" )
167 bar'bie
168 doll
169 declare -A foo=(["bar'bie"]="doll" )
170 bar'bie
171 doll
172 declare -A foo=(["bar'bie"]="doll" )
173 bar'bie
174 doll
175 declare -A foo=(["bar'bie"]="doll" )
176 bar$bie
177 doll
178 declare -A foo=(["bar\$bie"]="doll" )
179 bar[bie
180 doll
181 declare -A foo=(["bar[bie"]="doll" )
182 bar`bie
183 doll
184 declare -A foo=(["bar\`bie"]="doll" )
185 bar\]bie
186 doll
187 declare -A foo=(["bar\\]bie"]="doll" )
188 bar${foo}bie
189 doll
190 declare -A foo=(["bar\${foo}bie"]="doll" )
191 bar
192 after printf
193 after use: 0
194 declare -A assoc=([0]="assoc" )
195 assoc
196 declare -A assoc=([two]="twoless" [three]="three" [one]="onemore" )
197 declare -Ar assoc=([two]="twoless" [three]="three" [one]="onemore" )
198 declare -A b=([")"]="" ["\""]="" ["]"]="" ["\\"]="" ["\`"]="" )
199 declare -A b=(["]"]="" ["\`"]="" )
200 declare -A dict=(["'"]="3" ["\""]="1" ["\\"]="4" ["\`"]="2" )
201 ./assoc9.sub: line 23: unset: `dict[']': not a valid identifier
202 ./assoc9.sub: line 23: unset: `dict["]': not a valid identifier
203 ./assoc9.sub: line 23: unset: `dict[\]': not a valid identifier
204 ./assoc9.sub: line 23: unset: `dict[`]': not a valid identifier
205 declare -A dict=(["'"]="3" ["\""]="1" ["\\"]="4" ["\`"]="2" )
206 declare -A dict=(["'"]="3" ["\""]="1" ["\\"]="4" ["\`"]="2" )
207 declare -A dict=()
208 4
209 4
210 a[$b]= 5
211 declare -A a=(["80's"]="Depeche Mode" )
212 ./assoc9.sub: line 71: read: `a[80's]': not a valid identifier
213 declare -A a
214 declare -A a=(["80's"]="Depeche Mode" )
215 ./assoc9.sub: line 83: printf: `a[80's]': not a valid identifier
216 declare -A a
217 declare -A a=(["80's"]="Depeche Mode" )
218 6
219 1
220 1+5
221 declare -A a=(["\$(date >&2)"]="5" )
222 declare -A myarray=([foo]="bleh" ["foo[bar"]="bleh" )
223 ./assoc10.sub: line 1: declare: a: cannot convert indexed to associative array
224 f: declare -a a
225 ./assoc10.sub: line 4: declare: a: cannot convert associative to indexed array
226 f: declare -A a
227
228 f: declare -a a
229 main: declare -- a="7"
230 f: declare -A a
231 main: declare -- a="42"