1# 2# test some posix-mode-specific function behavior 3# 4set -o posix 5func() 6{ 7 return 5 8} 9 10myfunction () { 11 var=20 return 12} 13var=10 14echo expect 5 10 15func 16echo $? $var 17 18myfunction 19echo expect 20 20echo $var 21 22echo expect 5 20 23func 24echo $? $var 25 26echo expect 5 30 27var=30 func 28echo $? $var 29 30: ${TMPDIR:=/tmp} 31TMPFILE=$TMPDIR/func3.sub.$$ 32 33rm -f $TMPFILE 34echo 'var=40 return 2' > $TMPFILE 35 36# test the behavior of `return' and preceding variable assignments here 37# because it's convenient 38var=10 39echo expect 2 40 40. $TMPFILE 41echo $? $var 42 43rm -f $TMPFILE 44 45#set -o posix 46var=0 47func() 48{ 49 var=20 return 5 50} 51 52echo expect 5 20 53var=30 func 54echo $? $var 55