title: How do I use round brackets in an 'if' condition
body: <p>I'm creating a bash script and somewhere inside I have this code:</p>
  
  <pre><code>if [ $# -eq 2 -a (! -r "$2" -o ! -f "$2") ]; then
  echo "rvf: bestand \""$2"\" bestaat niet of is onleesbaar" 1&gt;&amp;2
  exit 2
  fi
  </code></pre>
  
  <p>When i try to run this inside the script I get this error:</p>
  
  <pre><code>Syntax Error (bash -n):
  rvf: line 14: syntax error in conditional expression
  rvf: line 14: syntax error near `-a'
  rvf: line 14: `if [[ $# -eq 2 -a (! -r "$2" -o ! -f "$2") ]]; then'
  </code></pre>
  
  <p>How does '()' work inside Bash scripts?</p>