mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-08-07 02:32:27 +02:00
Imported from ../bash-2.05.tar.gz.
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
# builtins with exit status inverted
|
||||
|
||||
( true )
|
||||
echo $?
|
||||
( ! true )
|
||||
echo $?
|
||||
|
||||
( false )
|
||||
echo $?
|
||||
( ! false )
|
||||
echo $?
|
||||
|
||||
# inverting shouldn't affect exit
|
||||
(exit 42)
|
||||
echo $?
|
||||
|
||||
( ! exit 42 )
|
||||
echo $?
|
||||
|
||||
# commands requiring an exec with exit status inverted -- broken in bash-2.04
|
||||
|
||||
( ls > /dev/null 2>&1 )
|
||||
echo $?
|
||||
( ! ls > /dev/null 2>&1 )
|
||||
echo $?
|
||||
|
||||
touch /tmp/notwrite
|
||||
chmod 400 /tmp/notwrite
|
||||
|
||||
# make sure redirection failures in commands whose exit status is inverted
|
||||
# are handled correctly
|
||||
|
||||
( ls > /tmp/notwrite ) 2>/dev/null
|
||||
echo $?
|
||||
|
||||
( ! ls > /tmp/notwrite ) 2>/dev/null
|
||||
echo $?
|
||||
|
||||
# now add exit traps, true and false for commands with and without exit
|
||||
# status inversion
|
||||
|
||||
(trap 'false' 0 ; ! ls > /tmp/notwrite ) 2>/dev/null
|
||||
echo $?
|
||||
|
||||
(trap 'false' 0 ; ls > /tmp/notwrite ) 2>/dev/null
|
||||
echo $?
|
||||
|
||||
(trap 'true' 0 ; ! ls > /tmp/notwrite ) 2>/dev/null
|
||||
echo $?
|
||||
|
||||
(trap 'true' 0 ; ls > /tmp/notwrite ) 2>/dev/null
|
||||
echo $?
|
||||
|
||||
rm -f /tmp/notwrite
|
||||
Reference in New Issue
Block a user