]> TLD Linux GIT Repositories - rc-scripts.git/blob - t/inherit.sh
- merged changes from PLD, all TLD changes and fixes are kept
[rc-scripts.git] / t / inherit.sh
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'
10 #subshelled: sub: var='var' sub: subvar='subvar'
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'"
28
29         echo "subshelled:" $(sub)
30 }
31
32 main
33 echo "outer: var='$var'"
34 echo "outer: subvar='$subvar'"