File: varenv.right

package info (click to toggle)
bash 5.3-2
  • links: PTS
  • area: main
  • in suites: sid
  • size: 44,432 kB
  • sloc: ansic: 134,747; sh: 8,866; yacc: 5,966; makefile: 4,697; perl: 4,105; asm: 48; awk: 23; sed: 16
file content (363 lines) | stat: -rw-r--r-- 8,860 bytes parent folder | download | duplicates (2)
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
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
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:.
declare -a avar=([0]="/bin:/usr/bin:/usr/local/bin:.")
declare -- 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
declare -x var="60"
outside
assignment
|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 67: bbb: unique: cannot convert indexed to associative array
./varenv4.sub: line 67: declare: 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 57: 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 28: declare: i1: not found
./varenv9.sub: line 28: 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 46: unset: i2: cannot unset: readonly variable
./varenv9.sub: line 46: 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 61: declare: i3: not found
./varenv9.sub: line 61: 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 79: unset: i4: cannot unset: readonly variable
./varenv9.sub: line 79: 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 17: local: qux: readonly variable
./varenv11.sub: line 18: qux: readonly variable
./varenv11.sub: line 18: local: qux: readonly variable
declare -A foo=([zero]="zero" [one]="one" )
declare -a bar=([0]="zero" [1]="one")
declare -A foo=([one]="one" [zero]="zero" )
declare -a bar=([0]="zero" [1]="one")
./varenv11.sub: line 42: 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="inside"
outside: declare -- var="outside"
outside 1.0: var=one
outside 1.1: var=one
inside func: var=two
outside 2.0: var=<unset>
inside func: var=two
outside 2.1: var=global
inside func1: var=value
outside 3.0: var=value
inside func1: var=func
outside 3.5: var=outside
inside func2: var=global
outside 4.0: var=outside
foo: hello world
after foo: var=global
bar: hello world
after bar: var=global
./varenv13.sub: line 16: `var[0]': not a valid identifier
./varenv13.sub: line 16: `var[@]': not a valid identifier
./varenv13.sub: line 14: declare: var: not found
declare -A var=([0]="X" ["@"]="Y" )
help
./varenv13.sub: line 35: `var[0]': not a valid identifier
1
declare -A var=([0]="X" )
declare -A var=([Y]="Y" )
declare -A var=([Y]="Y" )
declare -A var=()
declare -A var=()
./varenv14.sub: line 31: f: var: cannot convert indexed to associative array
./varenv14.sub: line 31: declare: var: cannot convert indexed to associative array
declare -a var=([0]="12")
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")
declare -A v=([1]="one" [0]="7" )
declare -a v=([0]="7" [1]="1")
./varenv14.sub: line 77: declare: array: cannot convert indexed to associative array
declare -a array=([0]="1" [1]="2" [2]="3" [3]="list" [4]="of" [5]="four" [6]="words")
./varenv14.sub: line 85: declare: assoc: cannot convert associative to indexed array
declare -A assoc=([four]="words" [two]="2" [three]="3" [one]="1" [list]="of" )
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
foo=showfoo environment foo=showfoo
foo=showfoo environment foo=showfoo
foo=showfoo environment foo=showfoo
outside: foo=<unset>

posix mode
foo=showfoo environment foo=showfoo
outside 1.0: foo=<unset>
foo=showfoo environment foo=showfoo
foo=showfoo environment foo=showfoo
outside 1.1: foo=<unset>
foo=<unset> environment foo=
outside 2.0: foo=<unset>
foo=foo environment foo=foo
foo=<unset> environment foo=
outside 2.1: foo=<unset>
declare -- var="global"
declare -- var
declare -- var="local"
declare -- var="global"
declare -- var="local"
declare -- var
declare -- var="local"
declare -- var
declare -- var="local"
declare -- var
declare -- var="local"
declare -- var="f1"
declare -- var="local"
declare -a arr=([0]="zero" [1]="one" [2]="two" [3]="three" [4]="four" [5]="five")
declare -a arr=([0]="zero" [1]="one" [2]="two")
declare -a arr=([0]="three" [1]="four" [2]="five")
declare -a arr=([0]="zero" [1]="one" [2]="two")
ddd 0
aaa 1 2 3
bbb 4 5 6
ccc 7 8 9
declare -a x=([0]="one" [1]="two" [2]="three")
./varenv19.sub: line 51: declare: x: not found
declare -x v="x"
declare -x v="t"
declare -- v
declare -x v
ignoreeof           	on
ignoreeof           	off
ignoreeof           	on
10
local -
match 1
trap -- 'echo trap:$FUNCNAME' EXIT
trap:f
trap -- 'echo trap:$FUNCNAME' EXIT
trap:f
trap -- 'echo trap:$FUNCNAME' EXIT
trap:f
trap -- 'echo trap:$FUNCNAME' EXIT
trap:f
declare -rx x="4"
declare -rx y="5"
f:3
f1:3
global1:bcde
f:3
f1:3
global2:bcde
f:3
f1:3
global:bcde
f:3
f1:3
global:bcde
f:3
bcde
f:3
bcde
f1:3
global: bcde
f1:3
global: 3
f: 3
global: declare -rx c="3"
f1: 4
global: declare -- b="8"
f1: x = local
f2: x = local
after f2: x = global
default after f1: x = global
f1: x = local
f2: x = local
after f2: x = unset
localvar_unset after f1: x = global
f1: x = temp
after f1: x = global
1009: after bash unset: x = global
1009: after posix unset: x = unset
f1: x = local
after unset f1: x = local
1009: after bash f1: x = global
f1: x = local
after unset f1: x = unset
1009: after posix f1: x = global
global initial
declare -- string
declare -i int
declare -a array
inside init_vars acting on previous scope
./varenv25.sub: line 26: local: string: not found
./varenv25.sub: line 26: local: int: not found
./varenv25.sub: line 26: local: array: not found
inside foo, after init_vars
declare -r string="foo"
declare -ir int="100"
declare -ar array=([0]="1" [1]="2")
global after foo
declare -- string
declare -i int
declare -a array
init_vars2
./varenv25.sub: line 51: local: int: not found
foo2, after init_vars2
declare -ir int="142"
global after calling foo2
declare -i int
inside init_vars acting on previous scope
./varenv25.sub: line 26: local: string: not found
./varenv25.sub: line 26: local: int: not found
./varenv25.sub: line 26: local: array: not found
global values after foo placeholder
declare -r string="foo"
declare -ir int="100"
declare -ar array=([0]="1" [1]="2")
a=z
a=b
a=z