title: What is the bash "test" command evaluation order?
body: <p>What is the order in which the <code>test</code> or <code>[</code> expressions are evaluated in a bash script? Is it the same as the order in which they are written? Are they all evaluated?</p>
  
  <p>In the following example:</p>
  
  <pre><code>if [ expr1 -a -n expr2 ]
  </code></pre>
  
  <p>will <em>expr2</em> be evaluated if <em>expr1</em> is false?</p>