]>
Commit | Line | Data |
---|---|---|
a0c0a00f CR |
1 | f() { local -n a=$1; a=X; } |
2 | ||
3 | a=(0); f 'a[0]' | |
4 | while [[ -v a ]]; do declare -p a; unset a; done | |
5 | ||
6 | a=(0); f 'a' | |
7 | while [[ -v a ]]; do declare -p a; unset a; done | |
8 | ||
9 | b=(0); f 'b[0]' | |
10 | while [[ -v a ]]; do typeset -p a; unset a; done | |
11 | typeset -p b | |
12 | ||
13 | b=(0); f 'a[0]' | |
14 | while [[ -v a ]]; do typeset -p a; unset a; done | |
15 | typeset -p b | |
16 | ||
17 | add_X_echo() | |
18 | { | |
19 | typeset -n ref=$1 | |
20 | ref+=X | |
21 | echo inside $ref | |
22 | } | |
23 | ||
24 | ref= | |
25 | add_X_echo ref | |
26 | echo outside "$ref" | |
27 | unset ref | |
28 | ||
29 | typeset -n ref=ref | |
30 | ||
31 | typeset -n ref=re ref+=f | |
32 | typeset -p ref | |
33 | ref=4 | |
34 | typeset -p ref re | |
35 | ||
36 | export ref | |
37 | printenv ref | |
38 | printenv re | |
39 | ||
40 | unset ref ; unset -n ref | |
41 | unset foo; unset -n foo | |
42 | ||
43 | typeset -n foo=var[@] | |
44 | typeset -p foo | |
45 | typeset -n ref=var ref+=[@] | |
46 | typeset -p ref | |
47 | ||
48 | ref=42 | |
49 | ||
50 | typeset -n bar | |
51 | bar=var[@] | |
52 | typeset -p bar | |
53 | bar=7 | |
54 | ||
55 | unset a b | |
56 | unset -n a b | |
57 | ||
58 | typeset -n a=b b | |
59 | b=a[1] | |
60 | typeset -p a b | |
61 | a=foo | |
62 | typeset -p a b | |
63 | ||
64 | unset a | |
65 | typeset -n a=b | |
66 | declare a=foo | |
67 | typeset -p a b | |
68 | ||
69 | unset n v | |
70 | unset -n n v | |
71 | ||
72 | v=(0 1) | |
73 | typeset -n n=v | |
74 | unset n[0] | |
75 | typeset -p n v | |
76 | ||
77 | unset -n n | |
78 | ||
79 | v=(0 1) | |
80 | typeset -n n=v | |
81 | unset -n n | |
82 | typeset -p n v | |
83 | ||
84 | v=(0 1) | |
85 | declare -n n=v[1] | |
86 | unset n | |
87 | declare -p n v | |
88 |