X-Git-Url: https://git.tld-linux.org/?p=rc-scripts.git;a=blobdiff_plain;f=t%2Finherit.sh;fp=t%2Finherit.sh;h=c36263508847835f519952737379b73e8d1a12ca;hp=0000000000000000000000000000000000000000;hb=49ade4f4b5b1978db4561d62063008a339a1526f;hpb=2d25be2988d266692b556fbcc89c5b9108cf16f8 diff --git a/t/inherit.sh b/t/inherit.sh new file mode 100755 index 0000000..c362635 --- /dev/null +++ b/t/inherit.sh @@ -0,0 +1,34 @@ +#!/bin/sh +# test that variables local to function are inherited when another function is called out +# +# the whole program should output: +#--- +#sub: var='var' +#sub: subvar='subvar' +#main: var='var' +#main: subvar='subvar' +#subshelled: sub: var='var' sub: subvar='subvar' +#outer: var='' +#outer: subvar='' +#--- + +sub() { + subvar=subvar + echo "sub: var='$var'" + echo "sub: subvar='$subvar'" +} + +main() { + local var=var + local subvar + + sub + echo "main: var='$var'" + echo "main: subvar='$subvar'" + + echo "subshelled:" $(sub) +} + +main +echo "outer: var='$var'" +echo "outer: subvar='$subvar'"