]> git.ipfire.org Git - thirdparty/bash.git/blob - tests/exec12.sub
bash-5.1 distribution sources and documentation
[thirdparty/bash.git] / tests / exec12.sub
1 # This program is free software: you can redistribute it and/or modify
2 # it under the terms of the GNU General Public License as published by
3 # the Free Software Foundation, either version 3 of the License, or
4 # (at your option) any later version.
5 #
6 # This program is distributed in the hope that it will be useful,
7 # but WITHOUT ANY WARRANTY; without even the implied warranty of
8 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 # GNU General Public License for more details.
10 #
11 # You should have received a copy of the GNU General Public License
12 # along with this program. If not, see <http://www.gnu.org/licenses/>.
13 #
14 : ${TMPDIR:=/var/tmp}
15 TMPFILE=$TMPDIR/exitcode
16 trap 'rm -f $TMPFILE' 0
17
18 rm -f $TMPFILE
19 set -e
20 # we normalize the exit code to accommodate false returning 255 on Solaris
21 exit_handler() { echo "exit code: $(( $? != 0 ))" ; touch $TMPFILE; }
22 false() { ! :; }
23 notfound() { nosuchcommand ; }
24 syntaxerror() { !:; }
25
26 main()
27 {(
28 trap exit_handler 0
29 "$@" >> /dev/null 2>&1
30 )}
31 main "$@"
32 echo "after main: should not get here"