title: What is the purpose of && :; in bash scripts
body: <p>I've come across a bash script which runs the following command within a function  </p>
  
  <pre><code>set -e
  rm -rf some_dir/* &amp;&amp; :;
  </code></pre>
  
  <p>What is the purpose of <code>&amp;&amp; :;</code> in this context? </p>
  
  <p><strong>Edit:</strong></p>
  
  <p>I understand that it's synonym to <code>&amp;&amp; true</code>, but now I don't undertand why it bypass <code>set -e</code></p>
  
  <p>Trying it out I see that running the following</p>
  
  <pre><code>#!/bin/bash -e
  
  # false
  echo false alone return 1 and fail with -e
  
  false || true
  echo "false || true return $?"
  
  false || :;
  echo "false || :; return $?"
  
  false &amp;&amp; true
  echo "false &amp;&amp; true return $?"
  
  false &amp;&amp; :;
  echo "false &amp;&amp; :; return $?"
  
  false &amp;&amp; :
  echo "false &amp;&amp; : return $?"
  </code></pre>
  
  <p>Outputs</p>
  
  <pre><code>false alone return 1 and fail with -e
  false || true return 0
  false || :; return 0
  false &amp;&amp; true return 1
  false &amp;&amp; :; return 1
  false &amp;&amp; : return 1
  </code></pre>