blob: 0307d6b49217ca3984a12bf92130924cd03b2a70 [file] [log] [blame]
Jari Aalto7117c2d2002-07-17 14:10:11 +00001
2./array.tests: line 15: syntax error near unexpected token `&'
3./array.tests: line 15: `test=(first & second)'
Jari Aaltobb706242000-03-17 21:46:59 +000041
Jari Aaltoccc6cda1996-12-23 17:02:34 +00005abcde
Jari Aaltod166f041997-06-05 14:59:13 +00006abcde
Jari Aaltoccc6cda1996-12-23 17:02:34 +00007abcde bdef
8abcde bdef
Jari Aaltob80f6442004-07-27 13:29:18 +00009declare -a BASH_ARGC='()'
10declare -a BASH_ARGV='()'
11declare -a BASH_LINENO='([0]="0")'
12declare -a BASH_SOURCE='([0]="./array.tests")'
Jari Aaltoccc6cda1996-12-23 17:02:34 +000013declare -a DIRSTACK='()'
Jari Aaltob80f6442004-07-27 13:29:18 +000014declare -a FUNCNAME='([0]="main")'
Jari Aaltoccc6cda1996-12-23 17:02:34 +000015declare -a a='([0]="abcde" [1]="" [2]="bdef")'
16declare -a b='()'
17declare -ar c='()'
18abcde bdef
19abcde bdef
20abcde
21abcde
22abcde
23
24bdef
25hello world
2611
273
Chet Ramey00018032011-11-21 20:51:19 -050028bdef hello world test expression test 2
29./array.tests: line 76: readonly: `a[5]': not a valid identifier
30declare -ar a='([1]="" [2]="bdef" [5]="hello world" [6]="test expression" [15]="test 2")'
Jari Aaltoccc6cda1996-12-23 17:02:34 +000031declare -ar c='()'
Chet Ramey00018032011-11-21 20:51:19 -050032declare -ar a='([1]="" [2]="bdef" [5]="hello world" [6]="test expression" [15]="test 2")'
Jari Aaltoccc6cda1996-12-23 17:02:34 +000033declare -ar c='()'
Chet Ramey00018032011-11-21 20:51:19 -050034readonly -a a='([1]="" [2]="bdef" [5]="hello world" [6]="test expression" [15]="test 2")'
Jari Aaltocce855b1998-04-17 19:52:44 +000035readonly -a c='()'
Jari Aaltoccc6cda1996-12-23 17:02:34 +000036a test
Jari Aaltob80f6442004-07-27 13:29:18 +000037declare -a BASH_ARGC='()'
38declare -a BASH_ARGV='()'
39declare -a BASH_LINENO='([0]="0")'
40declare -a BASH_SOURCE='([0]="./array.tests")'
Jari Aaltoccc6cda1996-12-23 17:02:34 +000041declare -a DIRSTACK='()'
Jari Aaltob80f6442004-07-27 13:29:18 +000042declare -a FUNCNAME='([0]="main")'
Chet Ramey00018032011-11-21 20:51:19 -050043declare -ar a='([1]="" [2]="bdef" [5]="hello world" [6]="test expression" [15]="test 2")'
Jari Aaltoccc6cda1996-12-23 17:02:34 +000044declare -a b='([0]="this" [1]="is" [2]="a" [3]="test" [4]="" [5]="/etc/passwd")'
45declare -ar c='()'
46declare -a d='([1]="" [2]="bdef" [5]="hello world" [6]="test" [9]="ninth element")'
47declare -a e='([0]="test")'
48declare -a f='([0]="" [1]="bdef" [2]="hello world" [3]="test" [4]="ninth element")'
Chet Ramey00018032011-11-21 20:51:19 -050049./array.tests: line 100: a: readonly variable
50./array.tests: line 102: b[]: bad array subscript
51./array.tests: line 103: b[*]: bad array subscript
52./array.tests: line 104: ${b[ ]}: bad substitution
53./array.tests: line 106: c[-2]: bad array subscript
54./array.tests: line 107: c: bad array subscript
Jari Aaltoccc6cda1996-12-23 17:02:34 +000055
Chet Ramey00018032011-11-21 20:51:19 -050056./array.tests: line 109: d[7]: cannot assign list to array member
57./array.tests: line 111: []=abcde: bad array subscript
58./array.tests: line 111: [*]=last: cannot assign to non-numeric index
59./array.tests: line 111: [-65]=negative: bad array subscript
Jari Aaltob80f6442004-07-27 13:29:18 +000060declare -a BASH_ARGC='()'
61declare -a BASH_ARGV='()'
62declare -a BASH_LINENO='([0]="0")'
63declare -a BASH_SOURCE='([0]="./array.tests")'
Jari Aaltoccc6cda1996-12-23 17:02:34 +000064declare -a DIRSTACK='()'
Jari Aaltob80f6442004-07-27 13:29:18 +000065declare -a FUNCNAME='([0]="main")'
Chet Ramey00018032011-11-21 20:51:19 -050066declare -ar a='([1]="" [2]="bdef" [5]="hello world" [6]="test expression" [15]="test 2")'
Jari Aaltoccc6cda1996-12-23 17:02:34 +000067declare -a b='([0]="this" [1]="is" [2]="a" [3]="test" [4]="" [5]="/etc/passwd")'
68declare -ar c='()'
Jari Aaltoe8ce7751997-09-22 20:22:27 +000069declare -a d='([1]="test test")'
Jari Aaltoccc6cda1996-12-23 17:02:34 +000070declare -a f='([0]="" [1]="bdef" [2]="hello world" [3]="test" [4]="ninth element")'
Chet Ramey00018032011-11-21 20:51:19 -050071./array.tests: line 119: unset: ps1: not an array variable
72./array.tests: line 123: declare: c: cannot destroy array variables in this way
Jari Aaltoccc6cda1996-12-23 17:02:34 +000073this of
74this is a test of read using arrays
Jari Aaltocce855b1998-04-17 19:52:44 +000075this test
76this is a test of arrays
Jari Aaltob80f6442004-07-27 13:29:18 +000077declare -a BASH_ARGC='()'
78declare -a BASH_ARGV='()'
79declare -a BASH_LINENO='([0]="0")'
80declare -a BASH_SOURCE='([0]="./array.tests")'
Jari Aaltoccc6cda1996-12-23 17:02:34 +000081declare -a DIRSTACK='()'
Jari Aaltob80f6442004-07-27 13:29:18 +000082declare -a FUNCNAME='([0]="main")'
Chet Ramey00018032011-11-21 20:51:19 -050083declare -ar a='([1]="" [2]="bdef" [5]="hello world" [6]="test expression" [15]="test 2")'
Jari Aaltoccc6cda1996-12-23 17:02:34 +000084declare -a b='([0]="this" [1]="is" [2]="a" [3]="test" [4]="" [5]="/etc/passwd")'
85declare -ar c='()'
Jari Aaltoe8ce7751997-09-22 20:22:27 +000086declare -a d='([1]="test test")'
Jari Aaltoccc6cda1996-12-23 17:02:34 +000087declare -a f='([0]="" [1]="bdef" [2]="hello world" [3]="test" [4]="ninth element")'
Jari Aaltod166f041997-06-05 14:59:13 +000088declare -a rv='([0]="this" [1]="is" [2]="a" [3]="test" [4]="of" [5]="read" [6]="using" [7]="arrays")'
Jari Aaltoccc6cda1996-12-23 17:02:34 +000089abde
90abde
91bbb
92efgh
93wxyz
94wxyz
95./array.tests
96a
97b c
98d
99e f g
100h
101./array.tests
102a
103b c
104d
105e f g
106h
Jari Aaltod166f041997-06-05 14:59:13 +0000107/bin /usr/bin /usr/ucb /usr/local/bin . /sbin /usr/sbin
108bin bin ucb bin . sbin sbin
109bin
110/ / / / / /
111/
Jari Aalto7117c2d2002-07-17 14:10:11 +0000112argv[1] = <bin>
113argv[1] = </>
114argv[1] = <sbin>
115argv[1] = </>
Jari Aaltod166f041997-06-05 14:59:13 +0000116\bin \usr/bin \usr/ucb \usr/local/bin . \sbin \usr/sbin
117\bin \usr\bin \usr\ucb \usr\local\bin . \sbin \usr\sbin
118\bin \usr\bin \usr\ucb \usr\local\bin . \sbin \usr\sbin
1194 -- 4
1207 -- 7
12155
12249
1236 -- 6
12442 14 44
125grep [ 123 ] *
1266 7 9
1276 7 9 5
Jari Aaltocce855b1998-04-17 19:52:44 +0000128length = 3
129value = new1 new2 new3
Chet Ramey00018032011-11-21 20:51:19 -0500130./array.tests: line 239: narray: unbound variable
Jari Aalto95732b42005-12-07 14:08:12 +0000131./array1.sub: line 1: syntax error near unexpected token `('
132./array1.sub: line 1: `printf "%s\n" -a a=(a 'b c')'
Chet Rameyac50fba2014-02-26 09:36:43 -0500133./array2.sub: line 1: declare: `[]=asdf': not a valid identifier
134./array2.sub: line 2: a[]: bad array subscript
135./array2.sub: line 4: syntax error near unexpected token `('
136./array2.sub: line 4: `declare -a ''=(a 'b c')'
Jari Aalto95732b42005-12-07 14:08:12 +00001379
1389
139
140
1417 8 9
Jari Aalto06285672006-10-10 14:15:34 +00001428 11
1438 11
1446
1456
146nordholz
1478
1488
1498
Jari Aaltobb706242000-03-17 21:46:59 +0000150
151a b c d e f g
152for case if then else
153<> < > !
15412 14 16 18 20
1554414758999202
Jari Aalto28ef6c32001-04-06 19:14:31 +0000156aaa bbb
Chet Ramey00018032011-11-21 20:51:19 -0500157./array.tests: line 289: syntax error near unexpected token `<>'
158./array.tests: line 289: `metas=( <> < > ! )'
159./array.tests: line 290: syntax error near unexpected token `<>'
160./array.tests: line 290: `metas=( [1]=<> [2]=< [3]=> [4]=! )'
Jari Aalto28ef6c32001-04-06 19:14:31 +0000161abc 3
Jari Aalto7117c2d2002-07-17 14:10:11 +0000162case 4
163abc case if then else 5
164abc case if then else 5
Jari Aalto28ef6c32001-04-06 19:14:31 +00001650
Jari Aalto7117c2d2002-07-17 14:10:11 +0000166case 4
167case if then else 5
168case if then else 5
Jari Aaltob80f6442004-07-27 13:29:18 +0000169argv[1] = <0>
170argv[2] = <1>
171argv[3] = <4>
172argv[4] = <10>
173argv[1] = <0>
174argv[2] = <1>
175argv[3] = <4>
176argv[4] = <10>
177argv[1] = <0>
178argv[2] = <1>
179argv[3] = <4>
180argv[4] = <10>
181argv[1] = <0 1 4 10>
182include null element -- expect one
183one
184include unset element -- expect three five
185three five
186start at unset element -- expect five seven
187five seven
188too many elements -- expect three five seven
189three five seven
190positive offset - expect five seven
191five seven
Jari Aaltoeb873672004-11-09 21:37:25 +0000192negative offset to unset element - expect seven
193seven
Jari Aaltob80f6442004-07-27 13:29:18 +0000194positive offset 2 - expect seven
195seven
196negative offset 2 - expect seven
197seven
198out-of-range offset
199
Jari Aalto95732b42005-12-07 14:08:12 +0000200e
2014
2021 4 7 10
203'b
204b c
205$0
206t
207[3]=abcde r s t u v
208e
2099
Jari Aalto06285672006-10-10 14:15:34 +00002102
Jari Aalto31859422009-01-12 13:36:28 +0000211a b c
Chet Rameyac50fba2014-02-26 09:36:43 -0500212argv[1] = <-iname 'a>
213argv[2] = <-iname 'b>
214argv[3] = <-iname 'c>
Jari Aalto31859422009-01-12 13:36:28 +0000215'hey'
216hey
217''hey
218'hey'
219argv[1] = <c>
220argv[2] = <d>
221argv[3] = <e>
222argv[4] = <f>
223argv[1] = <c d>
224argv[2] = <e f>
225argv[1] = <c d>
226argv[2] = <e f>
227argv[1] = <c d>
228argv[2] = <e f>
Jari Aalto31859422009-01-12 13:36:28 +0000229argv[1] = <-iname 'abc>
230argv[2] = <-iname 'def>
Chet Rameyac50fba2014-02-26 09:36:43 -0500231argv[1] = <-iname 'abc>
232argv[2] = <-iname 'def>
Jari Aalto31859422009-01-12 13:36:28 +0000233argv[1] = <-iname>
Chet Rameyac50fba2014-02-26 09:36:43 -0500234argv[2] = <abc -iname def>
Jari Aalto31859422009-01-12 13:36:28 +0000235argv[1] = <-iname 'abc>
236argv[2] = <-iname 'def>
Chet Rameyac50fba2014-02-26 09:36:43 -0500237argv[1] = <-iname>
238argv[2] = <abc -iname def>
239argv[1] = <-iname 'abc>
240argv[2] = <-iname 'def>
241argv[1] = <-iname 'abc>
242argv[2] = <-iname 'def>
243argv[1] = <-iname>
244argv[2] = <abc -iname def>
Jari Aalto31859422009-01-12 13:36:28 +0000245*.* OK
2461
247a1 2 3c
248argv[1] = <var with spaces>
249argv[1] = <var with spaces>
250argv[1] = <var with spacesab>
251argv[2] = <cd>
252argv[3] = <ef>
253argv[1] = <var with spacesab>
254argv[2] = <cd>
255argv[3] = <ef>
256argv[1] = <var with spacesab>
257argv[2] = <cd>
258argv[3] = <ef>
259argv[1] = <var with spacesab>
260argv[2] = <cd>
261argv[3] = <ef>
262argv[1] = <var with spacesab>
263argv[2] = <cd>
264argv[3] = <ef>
265argv[1] = <var with spacesab>
266argv[2] = <cd>
267argv[3] = <ef>
2682
269argv[1] = <element1 with spaces>
270argv[2] = <element2 with spaces>
271argv[1] = <element1 with spaces>
272argv[2] = <element2 with spaces>
273nord!olz
274
275rdholz
276
277rdholz
278rdho
279
280
281argv[1] = <fooq//barq/>
282argv[1] = <fooq>
283argv[2] = <>
284argv[3] = <barq>
285argv[4] = <>
286argv[1] = <foo!//bar!/>
287argv[1] = <foo!>
288argv[2] = <>
289argv[3] = <bar!>
290argv[4] = <>
291argv[1] = <ooq//arq/>
292argv[1] = <ooq>
293argv[2] = <>
294argv[3] = <arq>
295argv[4] = <>
296argv[1] = <Fooq//Barq/>
297argv[1] = <Fooq>
298argv[2] = <>
299argv[3] = <Barq>
300argv[4] = <>
301argv[1] = <FOOQ//BARQ/>
302argv[1] = <FOOQ>
303argv[2] = <>
304argv[3] = <BARQ>
305argv[4] = <>
306126
307127
308128
309argv[1] = <€>
310argv[1] = <~>
311argv[2] = <^?>
312argv[3] = <€>
313argv[1] = <~>
314argv[2] = <^?>
315argv[3] = <€>
316argv[1] = <~>
317argv[2] = <^?>
318argv[3] = <€>
Chet Ramey495aee42011-11-22 19:11:26 -0500319Monday Tuesday Wednesday Thursday Friday Saturday Sunday
320Monday
321Monday
322Tuesday
323Monday
324Monday
325Tuesday
326Monday
327Tuesday
328Wednesday
329Monday
330Tuesday
331Wednesday
332monday, monday, tuesday
333wednesday, wednesday, thursday
334monday, monday, tuesday
335Wednesday, Wednesday, Thursday
336nday
337esday
338dnesday
339nday
340esday
341dnesday
342onday
343uesday
344ednesday
345onday
346uesday
347ednesday
Chet Rameyac50fba2014-02-26 09:36:43 -0500348version[agent]
349version.agent
350version[agent]
351version.agent
352version[agent] foo[bar]
353version.agent bowl
354foobar] foo foo[bar]
355bleh bbb bleh
356ab]
357bar
3581
3591
3601
3611
3621
3631
364main main
365function function
366function function
367declare -a x='([0]="0" [1]="1" [2]="2" [3]="3" [4]="4" [5]="5")'
368declare -a x='([0]="0" [1]="1" [2]="2" [3]="3" [4]="4")'
369declare -a x='([0]="0" [1]="1" [2]="2" [4]="4")'
370./array14.sub: line 11: [-10]: bad array subscript
371declare -a x='([0]="0" [1]="1" [2]="2" [3]="3" [4]="4")'
372declare -a x='([0]="0" [1]="1" [2]="2" [3]="3" [4]="4" [5]="five")'
373declare -a x='([0]="0" [1]="1" [2]="2" [3]="3" [4]="4" [5]="5")'
374declare -a x='([0]="0" [1]="1" [2]="2" [3]="3" [4]="4" [5]="5foo")'
375declare -a x='([0]="0" [1]="1" [2]="2" [3]="3" [4]="4" [5]="5")'
376declare -a x='([0]="0" [1]="1" [2]="2" [3]="3" [4]="4four" [5]="5")'
377strlen(4four) = 5
3781 2 xx 3
3791 2 0 3
3801 2 xx 3
3811 2 0 3
3821 2 xx 3
383foo index 1: ok
384foo index 2: ok
385foo: implicit reference to element 0: ok
386foo: arithmetic evaluation: ok
387bar: array with element zero unset: ok
388bar: element zero: ok
389qux: unset array: ok
390qux: unset array element 0: ok