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