]>
Commit | Line | Data |
---|---|---|
a0c0a00f CR |
1 | # problems with non-fatal expansion errors through bash-4.3 |
2 | : ${THIS_SH:=./bash} | |
3 | ||
4 | ${THIS_SH} -c 'echo ${x!y} second | |
5 | echo after 1: $?' 2>/dev/null | |
6 | ||
7 | ${THIS_SH} -c 'echo ${#+} second | |
8 | echo after 2: $?' 2>/dev/null | |
9 | ||
10 | ${THIS_SH} -c 'echo ${#foo%} second | |
11 | echo after 3: $?' 2>/dev/null | |
12 | ||
13 | ${THIS_SH} -c 'b[0]=4 ; echo ${b[ ]} | |
14 | echo array after 1: $?' 2>/dev/null | |
15 | ${THIS_SH} -c 'typeset -A v ; v["0"]=one ; echo ${v[ ]} | |
16 | echo array after 2: $?' 2>/dev/null | |
17 | ||
d233b485 CR |
18 | ${THIS_SH} -c 'echo ${uvar?}' ./errors6.sub |
19 | ${THIS_SH} -c 'echo ${uvar:?}' ./errors6.sub | |
20 | export uvar= | |
21 | ${THIS_SH} -c 'echo ${uvar?}' ./errors6.sub | |
22 | ${THIS_SH} -c 'echo ${uvar:?}' ./errors6.sub | |
23 | unset uvar | |
24 | ||
25 | echo "${-3:-${-3}}" | |
a0c0a00f CR |
26 | echo ${-3} |
27 | x=-3; echo ${!x} | |
28 | echo after indir: $? | |
d233b485 CR |
29 | |
30 | function ivar() { echo -n "${!1:-${1}}"; } | |
31 | ivar -3 | |
32 | ||
33 | foo=bar | |
34 | echo ${!foo} | |
35 | echo ${!foo:-unset} | |
36 | ||
37 | echo ${!var:-unset} | |
38 | echo ${!var+unset} | |
39 | ||
40 | foo=invalid-ident | |
41 | echo ${!foo} | |
42 | echo ${!foo:-unset} | |
43 | echo ${!foo+unset} |