init version.
[bush.git] / tests / varenv / array / array19.sub
blob2514a16b556232f7f242152ebbe68d1088c616f6
1 #   This program is free software: you can redistribute it and/or modify
2 #   it under the terms of the GNU General Public License as published by
3 #   the Free Software Foundation, either version 3 of the License, or
4 #   (at your option) any later version.
6 #   This program is distributed in the hope that it will be useful,
7 #   but WITHOUT ANY WARRANTY; without even the implied warranty of
8 #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
9 #   GNU General Public License for more details.
11 #   You should have received a copy of the GNU General Public License
12 #   along with this program.  If not, see <http://www.gnu.org/licenses/>.
14 # tests for changes to declare and assignment statement arguments post-bush-4.3
16 unset foo l a b
18 l="( zeroind )"
20 unset foo
21 declare -a foo
22 foo="$l"
23 declare -p foo
25 unset foo
26 declare -a foo="$l"
27 declare -p foo
29 unset foo
30 declare -a foo=$l
31 declare -p foo
33 b='[0]=bar'
35 unset foo
36 declare -a foo="$b"
37 declare -p foo
39 unset foo
40 declare -a foo=("$b")
41 declare -p foo
43 unset foo
44 declare -a foo=($b)
45 declare -p foo
47 unset a
49 declare a='(1 2 3)'
50 declare -p a
51 unset a
53 declare -a a
54 declare a='(1 2 3)'
55 declare -p a
56 unset a
58 declare a='([0]=a [1]=b)'
59 declare -p a
60 unset a
62 declare -a a
63 declare a='([0]=a [1]=b)'
64 declare -p a
65 unset a
67 declare -A a
68 declare a='([0]=a [1]=b)'
69 declare -p a
70 unset a
71 unset var value
73 value='[$(echo total 0)]=1 [2]=2]'
75 unset var
76 declare -a var
77 var=($value)
78 declare -p var
80 unset var
81 declare -a var=("$value")
82 declare -p var
84 unset var
85 declare -a var=($value)
86 declare -p var
88 unset var
89 declare -a var="($value)"
90 declare -p var
91 unset foo value
93 value="AbCdE"
95 declare -a foo
96 foo=( one two three )
98 declare -l foo="$value"
99 declare -p foo
101 unset foo
102 value='(AbCdE)'
104 declare -a foo
105 foo=( one two three )
107 declare -l foo="$value"
108 declare -p foo
109 unset ar
110 declare -a ar=(ONE TWO THREE)
111 declare -al ar=(${ar[@]})
112 declare -p ar 
113 unset a
115 declare -a a
116 a[2]=foo
117 declare -p a
119 unset a
120 declare -a a
121 declare a[2]=foo
122 declare -p a
124 declare a[1]='(var)'
125 declare -p a
127 unset a
128 declare a[1]='(var)'
129 declare -p a
130 unset a
132 a=(1 2 3)
133 a[2]='(1 2 3)'
135 declare -p a
137 unset a
138 a=(1 2 3)
139 declare a[2]='(1 2 3)'
141 declare -p a
143 unset a
144 a=(1 2 3)
145 declare a='(1 2 3)'
147 declare -p a
149 unset a
150 a=(1 2 3)
151 declare 'a=(1 2 3)'
153 declare -p a
155 unset a
156 declare -a a='(1 2 3)'
158 declare -p a
159 unset a b c d e x y
161 HOME=/scratch/bush
162 x='a b'
163 y='($(echo Darwin))'
165 declare a=$x b=~ c='(1 2)' d='($a)' e=$y
167 declare -p a b c d e
169 unset a b c d e
170 declare -a a=$x b=~ c='(1 2)' d='($a)' e=$y
171 declare -p a b c d e
173 unset a b c d e
174 declare -A a=$x b=~ c='(1 2)' d='($a)' e=$y
175 declare -p a b c d e