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?