]>
Commit | Line | Data |
---|---|---|
f44eb39c ER |
1 | #!/bin/sh |
2 | # test that variables local to function are inherited when another function is called out | |
3 | # | |
4 | # the whole program should output: | |
5 | #--- | |
6 | #sub: var='var' | |
7 | #sub: subvar='subvar' | |
8 | #main: var='var' | |
9 | #main: subvar='subvar' | |
cb8801f9 | 10 | #subshelled: sub: var='var' sub: subvar='subvar' |
f44eb39c ER |
11 | #outer: var='' |
12 | #outer: subvar='' | |
13 | #--- | |
14 | ||
15 | sub() { | |
16 | subvar=subvar | |
17 | echo "sub: var='$var'" | |
18 | echo "sub: subvar='$subvar'" | |
19 | } | |
20 | ||
21 | main() { | |
22 | local var=var | |
23 | local subvar | |
24 | ||
25 | sub | |
26 | echo "main: var='$var'" | |
27 | echo "main: subvar='$subvar'" | |
cb8801f9 ER |
28 | |
29 | echo "subshelled:" $(sub) | |
f44eb39c ER |
30 | } |
31 | ||
32 | main | |
33 | echo "outer: var='$var'" | |
34 | echo "outer: subvar='$subvar'" |