title: Why does set -e; true && false && true not exit?
body: <p>According to <a href="https://stackoverflow.com/a/2871034/274677">this accepted answer</a> using the <code>set -e</code> builtin should suffice for a bash script to exit on the first error. Yet, the following script:</p>
  
  <pre><code>#!/usr/bin/env bash
  
  set -e
  
  echo "a"
  echo "b"
  echo "about to fail" &amp;&amp; /bin/false &amp;&amp; echo "foo"
  echo "c"
  echo "d"
  </code></pre>
  
  <p>prints:</p>
  
  <pre><code>$ ./foo.sh 
  a
  b
  about to fail
  c
  d
  </code></pre>
  
  <p>removing the <code>echo "foo"</code> <strong>does</strong> stop the script; but why?</p>