]>
Commit | Line | Data |
---|---|---|
a0c0a00f CR |
1 | declare -A BASH_ALIASES=() |
2 | declare -A BASH_CMDS=() | |
3 | declare -A fluff | |
4 | declare -A BASH_ALIASES=() | |
5 | declare -A BASH_CMDS=() | |
f250956c CR |
6 | declare -A fluff=([foo]="one" [bar]="two" ) |
7 | declare -A fluff=([foo]="one" [bar]="two" ) | |
a0c0a00f CR |
8 | declare -A fluff=([bar]="two" ) |
9 | declare -A fluff=([bar]="newval" [qux]="assigned" ) | |
0001803f | 10 | ./assoc.tests: line 26: chaff: four: must use subscript when assigning associative array |
a0c0a00f CR |
11 | declare -A BASH_ALIASES=() |
12 | declare -A BASH_CMDS=() | |
f250956c CR |
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" ) | |
a0c0a00f CR |
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 | |
f250956c | 21 | declare -A chaff=(["hello world"]="flip" [one]="a" ) |
3185942a | 22 | flip |
f250956c CR |
23 | argv[1] = <multiple> |
24 | argv[2] = <words> | |
25 | argv[3] = <flip> | |
26 | argv[4] = <a> | |
27 | argv[1] = <multiple words> | |
3185942a | 28 | argv[2] = <flip> |
f250956c CR |
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> | |
a0c0a00f CR |
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 | |
f250956c | 38 | declare -A wheat=(["foo bar"]="qux qix" [six]="6" ) |
3185942a JA |
39 | argv[1] = <qux> |
40 | argv[2] = <qix> | |
41 | argv[1] = <qux qix> | |
f250956c | 42 | declare -A wheat=(["foo bar"]="qux qix" [six]="6" ) |
3185942a JA |
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> | |
f250956c CR |
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> | |
3185942a | 58 | 8 |
f250956c CR |
59 | /sbin /usr/bin /bin /usr/ucb /usr/local/bin . /usr/sbin /bin |
60 | sbin bin bin ucb bin . sbin bin | |
3185942a JA |
61 | bin |
62 | / / / / / / / | |
63 | / | |
64 | argv[1] = <bin> | |
65 | argv[1] = </> | |
66 | argv[1] = <sbin> | |
67 | argv[1] = </> | |
68 | 8 | |
f250956c CR |
69 | /sbin /usr/bin /bin /usr/ucb /usr/local/bin . /usr/sbin /bin |
70 | sbin bin bin ucb bin . sbin bin | |
3185942a JA |
71 | / / / / / / / |
72 | 8 | |
73 | 4 -- /bin | |
f250956c CR |
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 | |
0001803f | 79 | ([a]=1) |
3185942a | 80 | |
f250956c CR |
81 | foo qux |
82 | /usr/sbin/foo /usr/local/bin/qux | |
3185942a JA |
83 | hits command |
84 | 0 /sbin/blat | |
3185942a | 85 | 0 /usr/sbin/foo |
f250956c CR |
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 | |
3185942a | 90 | |
f250956c CR |
91 | foo qux |
92 | argv[1] = </usr/sbin/foo> | |
93 | argv[2] = </usr/local/bin/qux> | |
94 | argv[3] = <-l> | |
3185942a JA |
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' | |
f250956c | 99 | blat foo sh qux |
a0c0a00f | 100 | argv[1] = <cd /blat ; echo $PWD> |
f250956c | 101 | argv[2] = </usr/sbin/foo> |
a0c0a00f | 102 | argv[3] = </bin/bash --login -o posix> |
f250956c | 103 | argv[4] = </usr/local/bin/qux -l> |
3185942a | 104 | outside: outside |
a0c0a00f CR |
105 | declare -A BASH_ALIASES=() |
106 | declare -A BASH_CMDS=() | |
f250956c | 107 | declare -A afoo=(["foo bar"]="foo quux" [six]="six" ) |
3185942a | 108 | argv[1] = <inside:> |
f250956c CR |
109 | argv[2] = <foo quux> |
110 | argv[3] = <six> | |
3185942a | 111 | outside 2: outside |
f250956c CR |
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> | |
0001803f CR |
137 | abc |
138 | def | |
139 | def | |
140 | ./assoc5.sub: line 13: declare: `myarray[foo[bar]=bleh': not a valid identifier | |
f250956c CR |
141 | bleh def abc |
142 | myarray=([foo]="bleh" ["]"]="def" ["a]=test1;#a"]="123" ["a]a"]="abc" ) | |
0001803f CR |
143 | |
144 | 123 | |
f250956c | 145 | myarray=([foo]="bleh" ["]"]="def" ["a]=test2;#a"]="def" ["a]=test1;#a"]="123" ["a]a"]="abc" ) |
0001803f CR |
146 | bar"bie |
147 | doll | |
a0c0a00f | 148 | declare -A foo=(["bar\"bie"]="doll" ) |
0001803f CR |
149 | bar"bie |
150 | doll | |
a0c0a00f | 151 | declare -A foo=(["bar\"bie"]="doll" ) |
0001803f CR |
152 | bar"bie |
153 | doll | |
a0c0a00f | 154 | declare -A foo=(["bar\"bie"]="doll" ) |
0001803f CR |
155 | bar"bie |
156 | doll | |
a0c0a00f | 157 | declare -A foo=(["bar\"bie"]="doll" ) |
0001803f CR |
158 | bar"bie |
159 | doll | |
a0c0a00f | 160 | declare -A foo=(["bar\"bie"]="doll" ) |
0001803f CR |
161 | bar'bie |
162 | doll | |
a0c0a00f | 163 | declare -A foo=(["bar'bie"]="doll" ) |
0001803f CR |
164 | bar'bie |
165 | doll | |
a0c0a00f | 166 | declare -A foo=(["bar'bie"]="doll" ) |
0001803f CR |
167 | bar'bie |
168 | doll | |
a0c0a00f | 169 | declare -A foo=(["bar'bie"]="doll" ) |
0001803f CR |
170 | bar'bie |
171 | doll | |
a0c0a00f | 172 | declare -A foo=(["bar'bie"]="doll" ) |
0001803f CR |
173 | bar'bie |
174 | doll | |
a0c0a00f | 175 | declare -A foo=(["bar'bie"]="doll" ) |
0001803f CR |
176 | bar$bie |
177 | doll | |
a0c0a00f | 178 | declare -A foo=(["bar\$bie"]="doll" ) |
0001803f CR |
179 | bar[bie |
180 | doll | |
a0c0a00f | 181 | declare -A foo=(["bar[bie"]="doll" ) |
0001803f CR |
182 | bar`bie |
183 | doll | |
a0c0a00f | 184 | declare -A foo=(["bar\`bie"]="doll" ) |
0001803f CR |
185 | bar\]bie |
186 | doll | |
a0c0a00f | 187 | declare -A foo=(["bar\\]bie"]="doll" ) |
0001803f CR |
188 | bar${foo}bie |
189 | doll | |
a0c0a00f | 190 | declare -A foo=(["bar\${foo}bie"]="doll" ) |
ac50fbac CR |
191 | bar |
192 | after printf | |
193 | after use: 0 | |
a0c0a00f CR |
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" ) | |
f250956c | 198 | declare -A b=([")"]="" ["\""]="" ["]"]="" ["\\"]="" ["\`"]="" ) |
9a51695b | 199 | declare -A b=(["]"]="" ["\`"]="" ) |
f250956c | 200 | declare -A dict=(["'"]="3" ["\""]="1" ["\\"]="4" ["\`"]="2" ) |
9a51695b | 201 | ./assoc9.sub: line 23: unset: `dict[']': not a valid identifier |
f250956c | 202 | ./assoc9.sub: line 23: unset: `dict["]': not a valid identifier |
9a51695b CR |
203 | ./assoc9.sub: line 23: unset: `dict[\]': not a valid identifier |
204 | ./assoc9.sub: line 23: unset: `dict[`]': not a valid identifier | |
f250956c CR |
205 | declare -A dict=(["'"]="3" ["\""]="1" ["\\"]="4" ["\`"]="2" ) |
206 | declare -A dict=(["'"]="3" ["\""]="1" ["\\"]="4" ["\`"]="2" ) | |
9a51695b CR |
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" ) | |
2f5dfe5a CR |
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" |