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