title: Source operator doesn't work inside parenthesis in bash
body: <p>I'd like to include a config file in my bash script with 2 conditions:</p>
  
  <ol>
  <li>the config file name is constructed on-the-fly and stored in variable, and </li>
  <li>in case if config file doesn't exist, the script should fail:</li>
  </ol>
  
  <p>config.cfg:</p>
  
  <pre><code> CONFIGURED=yes
  </code></pre>
  
  <p>test.sh:</p>
  
  <pre><code>#!/bin/sh
  $CFG=config.cfg
  
  echo Source command doesn't work here:
  [ -f $CFG ] &amp;&amp; ( source $CFG ) || (echo $CFG doesnt exist; exit 127)
  echo $CONFIGURED
  
  echo ... but works here:
  source $CFG
  echo $CONFIGURED
  </code></pre>
  
  <p>What's wrong in [...] statement?</p>