Here is a simple question. Why doesn't this behave the way I think:
(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 these two snippets will continue to execute the script, despite the explicit exit .
Obviously, parentheses for some reason affect the team, so my question is: why?
source share