]> git.ipfire.org Git - thirdparty/bash.git/blob - tests/dollar.right
bash-4.4 beta release
[thirdparty/bash.git] / tests / dollar.right
1 argv[1] = <>
2 argv[1] = <a b>
3 argv[1] = <ab>
4 argv[1] = <a b>
5 argv[1] = <a>
6 argv[2] = <b>
7 argv[1] = <a>
8 argv[2] = <b>
9 argv[1] = <3>
10 argv[1] = <bob>
11 argv[1] = <tom dick harry>
12 argv[1] = <joe>
13 argv[1] = <3>
14 argv[1] = <bob>
15 argv[1] = <tom dick harry>
16 argv[1] = <joe>
17 argv[1] = <3>
18 argv[1] = <bob>
19 argv[1] = <tom dick harry>
20 argv[1] = <joe>
21 argv[1] = <3>
22 argv[1] = <bob>
23 argv[1] = <tom dick harry>
24 argv[1] = <joe>
25 argv[1] = <3>
26 argv[1] = <bob>
27 argv[1] = <tom dick harry>
28 argv[1] = <joe>
29 argv[1] = <3>
30 argv[1] = <bob>
31 argv[1] = <tom dick harry>
32 argv[1] = <joe>
33 argv[1] = <5>
34 argv[1] = <bob>
35 argv[1] = <tom>
36 argv[1] = <dick>
37 argv[1] = <5>
38 argv[1] = <bob>
39 argv[1] = <tom>
40 argv[1] = <dick>
41 argv[1] = <1>
42 argv[1] = <bob>
43 argv[2] = <tom>
44 argv[3] = <dick>
45 argv[4] = <harry>
46 argv[5] = <joe>
47 argv[1] = <3>
48 argv[1] = <bob>
49 argv[1] = <tom>
50 argv[2] = <dick>
51 argv[3] = <harry>
52 argv[1] = <joe>
53 argv[1] = <a>
54 argv[2] = <b>
55 argv[3] = <c>
56 argv[4] = <d>
57 argv[5] = <e>
58 argv[1] = <a>
59 argv[2] = <b>
60 argv[3] = <c>
61 argv[4] = <d>
62 argv[5] = <e>
63 argv[1] = <foo>
64 argv[2] = <bar>
65 argv[3] = <bam>
66 argv[1] = <foobarbam>
67 argv[1] = <foo>
68 argv[2] = <bar>
69 argv[3] = <bam>
70 argv[1] = <foo>
71 argv[2] = <bar>
72 argv[3] = <bam>
73 argv[1] = <foo bar bam>
74 foo = 1:2:3:4:5:6:7:8:9:10
75 bar = 1:2:3:4:5:6:7:8:9:10
76 foo1 = 1 2 3 4 5 6 7 8 9 10
77 bar1 = 1 2 3 4 5 6 7 8 9 10
78 foo2 = 1:2:3:4:5:6:7:8:9:10
79 bar2 = 1:2:3:4:5:6:7:8:9:10
80 foo3 = 1:2:3:4:5:6:7:8:9:10
81 bar3 = 1:2:3:4:5:6:7:8:9:10
82 ok 1
83 ok 2
84 ok 3
85 ok 4
86 foo = 1 2 3 4 5 6 7 8 9 10
87 bar = 1 2 3 4 5 6 7 8 9 10
88 foo1 = 1 2 3 4 5 6 7 8 9 10
89 bar1 = 1 2 3 4 5 6 7 8 9 10
90 foo2 = 1 2 3 4 5 6 7 8 9 10
91 bar2 = 1 2 3 4 5 6 7 8 9 10
92 foo3 = 1 2 3 4 5 6 7 8 9 10
93 bar3 = 1 2 3 4 5 6 7 8 9 10
94 ok 1
95 ok 2
96 ok 3
97 ok 4
98 var=${a[*]} ... one:::two:three:::four
99 var="${a[*]}" ... one:::two:three:::four
100 var=$* ... one:::two:three:::four
101 var="$*" ... one:::two:three:::four
102 var=${a[@]} ... one:::two three:::four
103 var="${a[@]}" ... one:::two three:::four
104 var=$@ ... one:::two three:::four
105 var="$@" ... one:::two three:::four
106 ok 1
107 ok 2
108 ok 3
109 ok 4
110 ok 5
111 ok 6
112 ok 7
113 ok 8
114 ok 9
115 ok 10
116 ok 11
117 ok 12
118 ok 13
119 ok 14
120 ok at 1
121 ok at 2
122 ok star 1
123 ok star 2
124 ,foo
125 ,foo
126 ,foo
127 ,foo
128 ok at 1
129 ok at 2
130 ok at 3
131 ok star 1
132 ok star 2
133 ok star 3
134 ok at-star 1
135 ok at-star 2
136 a b c
137 a|b|c
138 a b c
139 a|b|c
140 ok at 1
141 ok at 2
142 ok at 3
143 ok at 4
144 ok at 5
145 ok at 1
146 ok at 2
147 ok at 3
148 ok at 4
149 ok at 5
150 ok at 1
151 ok at 2
152 ok at 3
153 ok at 4
154 ok at 5
155 ok at 6
156 ok at 7
157 ok at 8
158 ok at 9
159 argv[1] = <a>
160 argv[1] = <a>
161 argv[1] = <a>
162 argv[1] = <a>
163 argv[1] = <a>
164 argv[1] = <a>
165 argv[1] = <a>
166 argv[1] = <one>
167 argv[1] = <o>
168 argv[1] = <o>
169 argv[1] = <one>
170 <123 abc> <def> <ghi 456>
171 <123 abc> <def> <ghi\ 456>
172 <c>
173 a bc
174 a b
175 ab
176 <a><b>
177 a b
178 a b
179 <a><b><c><d>
180 <a><b><c d>
181 <a><b>
182 <a:b>
183 <a><b>
184 <a b>
185 abcd
186 d
187 abcd
188 d
189 c
190 argv[1] = <a b>
191 argv[1] = <abcd>
192 argv[1] = <abcd>
193 argv[1] = <a>
194 argv[2] = <b>
195 argv[1] = <a b>
196 <c>
197 <c>
198 <d>
199 <d>
200 0
201 0
202 1
203 1
204 1
205 0
206 0
207 0
208 1
209 0
210 0
211 0
212 1
213 after 1
214 after 2
215 after 3
216 same as 1
217 argv[1] = <>
218 same as 2
219 argv[1] = <>
220 null fields
221 argv[1] = <>
222 argv[1] = <>
223 null fields in rhs
224 null string with unquoted $@
225 argv[1] = <>
226 null string with quoted $@
227 assignment
228 argv[1] = <>
229 variable
230 argv[1] = <>
231 dollar-at
232 argv[1] = <'a'>
233 argv[2] = <'b'>
234 argv[3] = <'c'>
235 argv[1] = <'a'>
236 argv[2] = <'b'>
237 argv[3] = <'c'>
238 argv[1] = <>
239 argv[2] = <a>
240 argv[3] = <>
241 argv[4] = <>
242 argv[5] = <b>
243 argv[6] = <>
244 argv[7] = <>
245 argv[8] = <c>
246 argv[1] = <'a'>
247 argv[2] = <'b'>
248 argv[3] = <'c'>
249 argv[1] = <>
250 argv[2] = <a>
251 argv[3] = <>
252 argv[4] = <>
253 argv[5] = <b>
254 argv[6] = <>
255 argv[7] = <>
256 argv[8] = <c>
257 argv[1] = <'a'>
258 argv[2] = <'b'>
259 argv[3] = <'c'>
260 argv[1] = <>
261 argv[2] = <a>
262 argv[1] = <'a'>
263 argv[1] = <'a'>
264 argv[2] = <'b'>
265 argv[3] = <'c'>
266 argv[1] = <'a'>
267 argv[2] = <'b'>
268 argv[3] = <'c'>
269 xa|xb|xc
270 xa|xb|xc
271 a|b|c
272 a|b|c
273 a b c
274 a b c
275 xa xb xc
276 xa xb xc
277 a|b
278 b|c
279 a b
280 b c
281 a|b|c
282 a|b|c
283 xa|xb|xc
284 xa|xb|xc
285 3
286 3
287 3
288 3
289 3
290 3
291 3
292 3
293 argv[1] = <echo 1 ; echo 1>
294 argv[1] = <echo 1 2 ; echo 1>
295 argv[2] = <2>
296 argv[1] = <echo 1 ; echo 1>
297 argv[1] = <echo 1 2 ; echo 1>
298 argv[2] = <2>
299 argv[1] = <AB>
300 argv[1] = <AB>
301 argv[1] = <A BC D>
302 argv[1] = <A BC D>
303 argv[1] = <A BC D>
304 argv[1] = <A B>
305 argv[2] = <C D>
306 argv[1] = <A BC D>
307 argv[1] = <A BC D>
308 argv[1] = <fooq//barq/>
309 argv[1] = <fooq>
310 argv[2] = <>
311 argv[3] = <barq>
312 argv[4] = <>
313 argv[1] = <foo!//bar!/>
314 argv[1] = <foo!>
315 argv[2] = <>
316 argv[3] = <bar!>
317 argv[4] = <>
318 argv[1] = <ooq//arq/>
319 argv[1] = <ooq>
320 argv[2] = <>
321 argv[3] = <arq>
322 argv[4] = <>
323 0
324 bar
325
326 after 1
327
328 after 2
329 0
330 bar
331
332 after 1
333
334 after 2
335 a b
336 ab
337 cd
338 ok 1
339 ok 2
340 argv[1] = <a b>
341 argv[2] = <c d>
342 argv[1] = <a>
343 argv[2] = <b>
344 argv[3] = <c>
345 argv[4] = <d>
346 argv[1] = <a b c d>
347 argv[1] = <a b c d>
348 <1> <2> <3> <4> <5 1>
349 <1 1> <2> <3> <4> <5>
350 <11> <2> <3> <4> <51>
351 <1 1> <2> <3> <4> <5 1>
352 <11> <2> <3> <4> <51>
353 <1> <2> <3> <4> <51>
354 <11> <2> <3> <4> <5>
355 <1> <2> <3> <4> <51>
356 <11> <2> <3> <4> <5>
357 <1> <2> <3> <4> <5foo>
358 <1> <2> <3> <4> <51>
359 <1> <2> <3> <4> <5foo>
360 <1> <2> <3> <4> <51>
361 <11> <2> <3> <4> <5>
362 <1> <2> <3> <4> <51>
363 <11> <2> <3> <4> <5>
364 <1> <2> <3> <4> <5foo>
365 second set:
366 <1 2> <3> <4> <5 1 2>
367 <1 2 1 2> <3> <4> <5>
368 <1 21 2> <3> <4> <51 2>
369 <1 2 1 2> <3> <4> <5 1 2>
370 <1> <21 2> <3> <4> <51> <2>
371 <1 2> <3> <4> <51> <2>
372 <1> <21 2> <3> <4> <5>
373 <1 2> <3> <4> <51 2>
374 <1 21 2> <3> <4> <5>
375 <1 2> <3> <4> <5foo>
376 <1> <2> <3> <4> <51> <2>
377 <1> <2> <3> <4> <5foo>
378 <1 2> <3> <4> <51 2>
379 <1 21 2> <3> <4> <5>
380 <1 2> <3> <4> <51 2>
381 <1 21 2> <3> <4> <5>
382 <1 2> <3> <4> <5foo>
383 third set:
384
385 "${@:2}a3 a2" a$1 #works as long as $1 and 3 are swapped
386 set y za3 a2 ax
387 0
388 declare -a a=([0]="y" [1]="za3 a2" [2]="ax")
389
390 "${@:2}b$1 b2" b3 #fails! why?
391 set y zbx b2 b3
392 0
393 declare -a b=([0]="y" [1]="zbx b2" [2]="b3")
394
395 ${@:2}c$1 c2 c3 #works as long as quoting omitted
396 set y zcx c2 c3
397 0
398 declare -a c=([0]="y" [1]="zcx" [2]="c2" [3]="c3")
399 argv[1] = <>
400 argv[2] = <x>
401 argv[1] = <>
402 argv[2] = <x>
403 1
404 argv[1] = <>
405 argv[2] = <>
406 argv[3] = <x>
407 argv[1] = <>
408 argv[2] = <x>
409 argv[1] = <>
410 argv[2] = <>
411 argv[3] = <x>
412 argv[1] = <>
413 argv[2] = <x>
414 argv[1] = <>
415 argv[2] = <x>
416 argv[1] = <>
417 argv[1] = <>
418 argv[1] = <>
419 argv[1] = <>
420 argv[1] = <AwR>
421 argv[1] = <AwR>
422 argv[1] = <AR>
423 argv[1] = <AwR>
424 argv[1] = <AR>
425 argv[1] = <AR>
426 argv[1] = <AwR>
427 argv[1] = <AwR>
428 argv[1] = <A^?R>
429 argv[1] = <AwR>
430 argv[1] = <AwR>
431 argv[1] = <A^?R>
432 <a> <b> <ca> <b> <c-a-b-c>
433 after 1: IFS -
434 argv[1] = <a-b-c>
435 <a> <b> <c> <da> <b c> <d-a-b c-d>
436 after 2: IFS -
437 argv[1] = <a-b c-d>
438 argv[1] = <a>
439 argv[2] = <b>
440 argv[3] = <c>
441 argv[4] = <d>
442 argv[1] = <a b c d>
443 argv[1] = <a>
444 argv[2] = <b>
445 argv[3] = <c>
446 argv[4] = <d>
447 argv[1] = <a b c d>