improve of cmpl.
[bush.git] / tests / dollar.right
blob09910d7e316b6da545c991598df2a4bbbb2d89e7
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> 
173 a bc
174 a b
176 <a><b>
177 a b
178 a b
179 <a><b><c><d>
180 <a><b><c><d>
181 <a><b><c d>
182 <a><b><c d>
183 <a><b>
184 <a:b>
185 <a><b>
186 <a b>
187 abcd
189 abcd
192 argv[1] = <a b>
193 argv[1] = <abcd>
194 argv[1] = <abcd>
195 argv[1] = <a>
196 argv[2] = <b>
197 argv[1] = <a b>
215 after 1
216 after 2
217 after 3
218 same as 1
219 argv[1] = <>
220 same as 2
221 argv[1] = <>
222 null fields
223 argv[1] = <>
224 argv[1] = <>
225 null fields in rhs
226 null string with unquoted $@
227 argv[1] = <>
228 null string with quoted $@
229 argv[1] = <>
230 assignment
231 argv[1] = <>
232 variable
233 argv[1] = <>
234 dollar-at
235 argv[1] = <'a'>
236 argv[2] = <'b'>
237 argv[3] = <'c'>
238 argv[1] = <'a'>
239 argv[2] = <'b'>
240 argv[3] = <'c'>
241 argv[1] = <>
242 argv[2] = <a>
243 argv[3] = <>
244 argv[4] = <>
245 argv[5] = <b>
246 argv[6] = <>
247 argv[7] = <>
248 argv[8] = <c>
249 argv[1] = <'a'>
250 argv[2] = <'b'>
251 argv[3] = <'c'>
252 argv[1] = <>
253 argv[2] = <a>
254 argv[3] = <>
255 argv[4] = <>
256 argv[5] = <b>
257 argv[6] = <>
258 argv[7] = <>
259 argv[8] = <c>
260 argv[1] = <'a'>
261 argv[2] = <'b'>
262 argv[3] = <'c'>
263 argv[1] = <>
264 argv[2] = <a>
265 argv[1] = <'a'>
266 argv[1] = <'a'>
267 argv[2] = <'b'>
268 argv[3] = <'c'>
269 argv[1] = <'a'>
270 argv[2] = <'b'>
271 argv[3] = <'c'>
272 |this|
273 |is|
275 |test|
277 |this|
278 |is|
280 |test|
282 |this|
283 |is|
285 |test|
287 |this|
288 |this|
290 |this is a test|
291 |this is a test|
292 |this|
293 |is|
295 |test|
296 |this|
297 |is|
299 |test|
301 a1=a b c a,b,c a b c a,b,c a b c a,b,c
302 a2=a b c a,b,c a b c a,b,c a b c a,b,c
303 a3=a b c a,b,c a b c a,b,c a b c a,b,c
304 a4=a b c a,b,c a b c a,b,c a b c a,b,c
305 argv[1] = <  >
306 argv[1] = <  >
307 argv[1] = <  >
308 argv[1] = <  >
309 argv[1] = <  >
310 argv[1] = <  >
311 argv[1] = <  >
312 argv[1] = <  >
313 argv[1] = <   >
314 argv[1] = <   >
315 argv[1] = <  >
316 argv[1] = <  >
317 argv[1] = <  >
318 argv[1] = < X >
319 argv[1] = < X >
320 argv[1] = < X >
321 argv[1] = < X >
322 argv[1] = < X >
323 argv[1] = < X >
324 argv[1] = < X >
325 argv[1] = <>
326 argv[1] = < X >
327 argv[1] = <>
328 argv[1] = < X >
329 argv[1] = <>
330 argv[1] = < X >
331 argv[1] = < X >
332 argv[1] = < X >
333 argv[1] = < X >
334 argv[1] = < X >
335 argv[1] = < X >
336 argv[1] = < X>
337 argv[2] = <Y >
338 argv[1] = < X>
339 argv[2] = <Y >
340 argv[1] = < X>
341 argv[2] = <Y >
342 argv[1] = < X Y >
343 argv[1] = < X Y >
344 argv[1] = < X Y >
345 argv[1] = < X Y >
346 argv[1] = < X Y >
347 argv[1] = < X Y >
348 argv[1] = < X Y >
349 argv[1] = < XY >
350 argv[1] = < XY >
351 argv[1] = < X Y >
352 argv[1] = < X Y >
353 argv[1] = < X Y >
354 argv[1] = < X Y >
355 argv[1] = < X Y >
356 argv[1] = < X Y >
357 argv[1] = < X >
358 argv[1] = < X >
359 argv[1] = < X >
360 argv[1] = < X >
361 argv[1] = <ba>
362 argv[1] = <ba>
363 argv[1] = <ba>
364 argv[1] = <b>
365 argv[2] = <a>
366 argv[1] = <a:b>
367 argv[1] = <a:b>
368 argv[1] = <a>
369 argv[2] = <b>
370 argv[1] = <a>
371 argv[2] = <b>
372 argv[1] = <a>
373 argv[2] = <b>
374 argv[1] = <a>
375 argv[2] = <b>
376 argv[1] = < X >
377 argv[1] = < X >
378 argv[1] = < X >
379 argv[1] = < X >
380 argv[1] = <a>
381 argv[2] = <b>
382 argv[1] = <a>
383 argv[2] = <b>
384 argv[1] = <a>
385 argv[2] = <b>
386 argv[1] = <a>
387 argv[2] = <b>
388 argv[1] = < X >
389 argv[1] = < X >
390 argv[1] = < X >
391 argv[1] = < X >
392 argv[1] = <^?>
393 argv[1] = <>
394 argv[1] = <>
395 argv[1] = <>
396 argv[1] = <^?>
397 argv[1] = <^?>
398 argv[1] = <^?>
399 argv[1] = <^?>
400 argv[1] = <>
401 argv[1] = <>
402 xa|xb|xc
403 xa|xb|xc
404 a|b|c
405 a|b|c
406 a b c
407 a b c
408 xa xb xc
409 xa xb xc
412 a b
413 b c
414 a|b|c
415 a|b|c
416 xa|xb|xc
417 xa|xb|xc
426 argv[1] = <echo 1 ; echo 1>
427 argv[1] = <echo 1 2 ; echo 1>
428 argv[2] = <2>
429 argv[1] = <echo 1 ; echo 1>
430 argv[1] = <echo 1 2 ; echo 1>
431 argv[2] = <2>
432 argv[1] = <AB>
433 argv[1] = <AB>
434 argv[1] = <A BC D>
435 argv[1] = <A BC D>
436 argv[1] = <A BC D>
437 argv[1] = <A B>
438 argv[2] = <C D>
439 argv[1] = <A BC D>
440 argv[1] = <A BC D>
441 argv[1] = <fooq//barq/>
442 argv[1] = <fooq>
443 argv[2] = <>
444 argv[3] = <barq>
445 argv[4] = <>
446 argv[1] = <foo!//bar!/>
447 argv[1] = <foo!>
448 argv[2] = <>
449 argv[3] = <bar!>
450 argv[4] = <>
451 argv[1] = <ooq//arq/>
452 argv[1] = <ooq>
453 argv[2] = <>
454 argv[3] = <arq>
455 argv[4] = <>
459 after 1
461 after 2
465 after 1
467 after 2
468 a b
471 ok 1
472 ok 2
473 argv[1] = <a  b>
474 argv[2] = <c  d>
475 argv[1] = <a>
476 argv[2] = <b>
477 argv[3] = <c>
478 argv[4] = <d>
479 argv[1] = <a  b c  d>
480 argv[1] = <a  b c  d>
481 <1> <2> <3> <4> <5 1> 
482 <1 1> <2> <3> <4> <5> 
483 <11> <2> <3> <4> <51> 
484 <1 1> <2> <3> <4> <5 1> 
485 <11> <2> <3> <4> <51> 
486 <1> <2> <3> <4> <51> 
487 <11> <2> <3> <4> <5> 
488 <1> <2> <3> <4> <51> 
489 <11> <2> <3> <4> <5> 
490 <1> <2> <3> <4> <5foo> 
491 <1> <2> <3> <4> <51> 
492 <1> <2> <3> <4> <5foo> 
493 <1> <2> <3> <4> <51> 
494 <11> <2> <3> <4> <5> 
495 <1> <2> <3> <4> <51> 
496 <11> <2> <3> <4> <5> 
497 <1> <2> <3> <4> <5foo> 
498 second set:
499 <1 2> <3> <4> <5 1 2> 
500 <1 2 1 2> <3> <4> <5> 
501 <1 21 2> <3> <4> <51 2> 
502 <1 2 1 2> <3> <4> <5 1 2> 
503 <1> <21 2> <3> <4> <51> <2> 
504 <1 2> <3> <4> <51> <2> 
505 <1> <21 2> <3> <4> <5> 
506 <1 2> <3> <4> <51 2> 
507 <1 21 2> <3> <4> <5> 
508 <1 2> <3> <4> <5foo> 
509 <1> <2> <3> <4> <51> <2> 
510 <1> <2> <3> <4> <5foo> 
511 <1 2> <3> <4> <51 2> 
512 <1 21 2> <3> <4> <5> 
513 <1 2> <3> <4> <51 2> 
514 <1 21 2> <3> <4> <5> 
515 <1 2> <3> <4> <5foo> 
516 third set:
518 "${@:2}a3 a2" a$1    #works as long as $1 and 3 are swapped
519 set y za3 a2 ax
521 declare -a a=([0]="y" [1]="za3 a2" [2]="ax")
523 "${@:2}b$1 b2" b3    #fails!  why?
524 set y zbx b2 b3
526 declare -a b=([0]="y" [1]="zbx b2" [2]="b3")
528 ${@:2}c$1 c2 c3     #works as long as quoting omitted
529 set y zcx c2 c3
531 declare -a c=([0]="y" [1]="zcx" [2]="c2" [3]="c3")
532 argv[1] = <>
533 argv[2] = <x>
534 argv[1] = <>
535 argv[2] = <x>
537 argv[1] = <>
538 argv[2] = <>
539 argv[3] = <x>
540 argv[1] = <>
541 argv[2] = <x>
542 argv[1] = <>
543 argv[2] = <>
544 argv[3] = <x>
545 argv[1] = <>
546 argv[2] = <x>
547 argv[1] = <>
548 argv[2] = <x>
549 argv[1] = <>
550 argv[1] = <>
551 argv[1] = <>
552 argv[1] = <>
553 argv[1] = <AwR>
554 argv[1] = <AwR>
555 argv[1] = <AR>
556 argv[1] = <AwR>
557 argv[1] = <AR>
558 argv[1] = <AR>
559 argv[1] = <AwR>
560 argv[1] = <AwR>
561 argv[1] = <A^?R>
562 argv[1] = <AwR>
563 argv[1] = <AwR>
564 argv[1] = <A^?R>
565 <a> <b> <ca> <b> <c-a-b-c> 
566 after 1: IFS -
567 argv[1] = <a-b-c>
568 <a> <b> <c> <da> <b c> <d-a-b c-d> 
569 after 2: IFS -
570 argv[1] = <a-b c-d>
571 argv[1] = <a>
572 argv[2] = <b>
573 argv[3] = <c>
574 argv[4] = <d>
575 argv[1] = <a b c d>
576 argv[1] = <a>
577 argv[2] = <b>
578 argv[3] = <c>
579 argv[4] = <d>
580 argv[1] = <a b c d>
582 <abc>
583 <def ghi>
584 <jkl>
586 <abc>
587 <def ghi>
588 <jkl>
589 <abc>
590 <def ghi>
591 <jkl>
592 <abc>
593 <def ghi>
594 <jkl>
595 <abcdef ghijkl>
596 <abc>
597 <def ghi>
598 <jkl>
599 <abc>
600 <def ghi>
601 <jkl>
602 <abc:def ghi:jkl>
603 <abc>
604 <def>
605 <ghi>
606 <jkl>
607 <abc>
608 <def>
609 <ghi>
610 <jkl>
611 argv[1] = <1>
612 argv[2] = <>
613 argv[1] = <2>
614 argv[2] = <>
615 argv[1] = <3>
616 argv[2] = <>
617 argv[1] = <4>
618 argv[2] = <>
619 -----
620 argv[1] = <1>
621 argv[2] = <>
622 argv[1] = <2>
623 argv[2] = <>
624 argv[1] = <3>
625 argv[1] = <4>
626 argv[2] = <>
627 ------
628 argv[1] = <1>
629 argv[2] = <>
630 argv[1] = <2>
631 argv[2] = <>
632 argv[1] = <3>
633 argv[2] = <>
634 argv[1] = <4>
635 argv[2] = <>
636 argv[1] = <5>
637 argv[2] = <>
638 argv[1] = <6>
639 argv[2] = <>
640 -----
641 argv[1] = <1>
642 argv[2] = <>
643 argv[1] = <2>
644 argv[2] = <>
645 argv[1] = <3>
646 argv[2] = <>
647 argv[1] = <4>
648 argv[2] = <>
649 argv[1] = <5>
650 argv[2] = <>
651 argv[1] = <6>
652 argv[2] = <>
653 -----
654 argv[1] = <1>
655 argv[2] = <>
656 argv[1] = <2>
657 argv[2] = <>
658 <12><12><12><12><12><12>
659 <12><12><12><12><12><12>
660 <12><'1''2'>
661 1 2
662 1 2
663 1 2
664 argv[1] = <1>
665 argv[2] = <2>
666 argv[1] = <1>
667 argv[2] = <2>
668 argv[1] = <1 2>
669 argv[1] = <1 2>
670 argv[1] = <1>
671 argv[2] = <2>
672 var=1 2
673 argv[1] = <1>
674 argv[2] = <2>
675 var=1 2
676 argv[1] = <1 2>
677 argv[1] = <1 2>