# This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # # test some posix-mode-specific function behavior # set -o posix func() { return 5 } myfunction () { var=20 return } var=10 echo expect 5 10 func echo $? $var myfunction echo expect 20 echo $var echo expect 5 20 func echo $? $var echo expect 5 20 var=30 func echo $? $var : ${TMPDIR:=/tmp} TMPFILE=$TMPDIR/func3.sub.$$ rm -f $TMPFILE echo 'var=40 return 2' > $TMPFILE # test the behavior of `return' and preceding variable assignments here # because it's convenient var=10 echo expect 2 40 . $TMPFILE echo $? $var rm -f $TMPFILE #set -o posix var=0 func() { var=20 return 5 } echo expect 5 20 var=30 func echo $? $var