summaryrefslogtreecommitdiff
path: root/tests/varenv.right
blob: ca7d4cf155bf16bff945964f904349a6133e7548 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
3 4
5 6 7 8 9
7 8 9
/usr/chet
/usr/chet
/usr/chet
/a/b/c
/usr/chet
/usr/chet 7
/a/b/c 9 /a/b/c
/a/b/c 9 /a/b/c
/a/b/c /a/b/c
1 2
1 1
unset
toronto airport
AVAR
song by rush
BVAR
toronto airport
AVAR
AVAR
42
/bin:/usr/bin:/usr/local/bin:.
avar=([0]="/bin:/usr/bin:/usr/local/bin:.")
z=yy
42
declare -i ivar="10"
unset
declare -x ivar="42"
hB
braceexpand:hashall:interactive-comments
hBP
braceexpand:hashall:interactive-comments:physical
declare -r SHELLOPTS="braceexpand:hashall:interactive-comments:physical"
abcde
20
30
40
50
|0|10|
10
|0|10|
10
|0|10|
10
|4|
4
|0|11|
after fff3: x=4
|0|12|
|y|
|y|
a:b:c:d
a-b-c-d
a:b:c:d
g: , 
f: , 
FIN: asdf fdsa, asdf fdsa
g: v = , w =
f: v = , w =
FIN: v = two, w = one
./varenv4.sub: line 54: bbb: unique: cannot convert indexed to associative array
after bbb: 1
declare -Ar FOOBAR=([foo]="bar" )
declare -Ar FOOBAR=([foo]="bar" )
declare -ar FOOBAR2=([0]="bar")
declare -ar FOOBAR2=([0]="bar")
F OUTSIDE
F OUTSIDE
declare -ar outside=()
declare -ir outside1="1"
tempenv = foo
0
declare -ar myvar=([0]="0")
1
declare -ir myvar="1"
declare -rx tempvar1='foo'
declare -rx tempvar2='qux'
./varenv7.sub: line 44: local: var: readonly variable
inside: outside
outside: outside
local: unset1 unset2
abc
abc
:1
:2
after: ----
global:1
global:2
after: --global--
after: ----
x = :1:2
in o1 (readonly modifying local scalars):
declare -r i1="a b c"
declare -r j1="1 2 3"
after o1:
./varenv9.sub: line 15: declare: i1: not found
./varenv9.sub: line 15: declare: j1: not found
in o2 (readonly setting global scalars):
declare -r i2="a b c"
declare -r j2="1 2 3"
after o2:
declare -r i2="a b c"
declare -r j2="1 2 3"
./varenv9.sub: line 33: unset: i2: cannot unset: readonly variable
./varenv9.sub: line 33: unset: j2: cannot unset: readonly variable
in o3 (readonly modifying locals, converting to arrays):
declare -ar i3=([0]="a" [1]="b" [2]="c")
declare -ar j3=([0]="1" [1]="2" [2]="3")
after o3:
./varenv9.sub: line 48: declare: i3: not found
./varenv9.sub: line 48: declare: j3: not found
in o4 (readonly setting global array variables):
declare -ar i4=([0]="a" [1]="b" [2]="c")
declare -ar j4=([0]="1" [1]="2" [2]="3")
after o4:
declare -ar i4=([0]="a" [1]="b" [2]="c")
declare -ar j4=([0]="1" [1]="2" [2]="3")
./varenv9.sub: line 66: unset: i4: cannot unset: readonly variable
./varenv9.sub: line 66: unset: j4: cannot unset: readonly variable
main: unset
inner: res unset
outer: res: X Y
main: after first call: X
inner: X
outer: res: X Y
main: after second call: X
func: null or unset
after func: x = outside
./varenv11.sub: line 4: local: qux: readonly variable
./varenv11.sub: line 5: qux: readonly variable
declare -A foo=([zero]="zero" [one]="one" )
declare -a bar=([0]="zero" [1]="one")
declare -A foo=([zero]="zero" [one]="one" )
declare -a bar=([0]="zero" [1]="one")
./varenv11.sub: line 29: a: readonly variable
foo=abc
func1: var =

func1: var =

inside: declare -- foo
outside:
declare -x foo="abc"
inside: declare -x var="value"
outside: declare -- var="one"
inside: declare -x var="value"
outside: declare -- var="outside"
inside: declare -x var="global"
outside: declare -- var="outside"
foo=<unset> environment foo=
foo=foo environment foo=foo
foo=foo environment foo=foo
./varenv13.sub: line 3: `var[0]': not a valid identifier
./varenv13.sub: line 3: `var[@]': not a valid identifier
./varenv13.sub: line 1: declare: var: not found
./varenv13.sub: line 12: var[@]: bad array subscript
declare -A var=([0]="X" )
help
./varenv13.sub: line 21: `var[0]': not a valid identifier
1
./varenv14.sub: line 6: warning: var: cannot inherit value from incompatible type
declare -a var=([0]="X")
./varenv14.sub: line 9: warning: var: cannot inherit value from incompatible type
declare -a var=([0]="Y")
./varenv14.sub: line 10: warning: var: cannot inherit value from incompatible type
declare -a var=([0]="Y")
./varenv14.sub: line 11: warning: var: cannot inherit value from incompatible type
declare -a var=()
./varenv14.sub: line 12: warning: var: cannot inherit value from incompatible type
declare -a var=()
./varenv14.sub: line 18: f: var: cannot convert indexed to associative array
declare -a a=([0]="X")
declare -a s=([0]="X")
declare -a a=([0]="X" [1]="Y")
declare -a s=([0]="X" [1]="Y")
declare -a a=([0]="XY")
declare -a s=([0]="XY")
f: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
f1: after: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
done: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
f3:1
f3:2
f3:3
f3:4
f3:5
f3:6
f3:7
f3:8
f3:9
f3:10
f3:11
f3:12
f3:13
f3:14
f3:15
f3:16
f3:17
f3:18
f3:19
f3:20
before source: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
varenv15.in: before set: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
varenv15.in: after set: a b c d e f g h i j k l m n o p q r s t u v w x y z
after source 1: a b c d e f g h i j k l m n o p q r s t u v w x y z
varenv15.in: before set: one two three four five six seven eight nine ten
varenv15.in: after set: a b c d e f g h i j k l m n o p q r s t u v w x y z
after source 2: a b c d e f g h i j k l m n o p q r s t u v w x y z
a=z
a=b
a=z