title: Difference between $() and () in Bash
body: <p>When I type <code>ls -l $(echo file)</code> output from bracket (which is just simple echo'ing) is taken and passed to external <code>ls -l</code> command. It equals to simple <code>ls -l file</code>.</p>
  
  <p>When I type <code>ls -l (echo file)</code> we have error because one cannot nest <code>()</code> inside external command.</p>
  
  <p>Can someone help me understand the difference between <code>$()</code> and <code>()</code> ?</p>