Please read the comments on the code below. I don't know but is it really how bash was supposed to run?
The code below should only print end [ "test" = "test" ] && { # after the false command bash should jump directly to echo end # but instead run echo echo "test != test" false } || { echo "test != test" } echo end