1# Exitcode 0 (`` has no exitcode, but assignment has): 2true; a=``; echo $? 3false; a=``; echo $? 4true; a=$(); echo $? 5false; a=$(); echo $? 6# Exitcode 2 (`cmd` expansion sets exitcode after assignment set it to 0): 7true; a=`exit 2`; echo $? 8false; a=`exit 2`; echo $? 9true; a=$(exit 2); echo $? 10false; a=$(exit 2); echo $? 11# Exitcode 1 (redirect sets exitcode to 1 on error after them): 12true; a=`` >/does/not/exist; echo $? 13false; a=`` >/does/not/exist; echo $? 14true; a=$() >/does/not/exist; echo $? 15false; a=$() >/does/not/exist; echo $? 16true; a=`exit 2` >/does/not/exist; echo $? 17false; a=`exit 2` >/does/not/exist; echo $? 18true; a=$(exit 2) >/does/not/exist; echo $? 19false; a=$(exit 2) >/does/not/exist; echo $? 20