Here is a simple question. Why does this not behave the way I think it would:
(echo "Test 1"; exit) && echo "Test 2"
...or...
VAR1=1
VAR2=2
[ $VAR1 == $VAR2 ] || (echo '$VAR1 does not equal $VAR2, exiting.'; exit)
echo -e 'Well, I'm still alive yo!'
Running either of those two snippets will result in script execution continuing despite an explicit exit
command.
Obviously the parentheses are affecting the command for some reason, my question is why?
See Question&Answers more detail:os