title: Difference in behaviour between time and /usr/bin/time in ubuntu 16.04
body: <p>I am teaching myself bash scripting and trying to create a script that completes the exercise...</p>
  
  <p><em>Write a script that stores the time it takes a command (your choice of command) to run in three variables, real, user, and system, corresponding to the three default times that time prints.</em></p>
  
  <p>I have been playing around with something like</p>
  
  <pre><code>output=$( /usr/bin/time -f "%E\n" ( eval "$@" 2&gt;/dev/null 1&gt;&amp;2) 2&gt;&amp;1 )
  </code></pre>
  
  <p>The plan is to use the format flag to get an output string in some arbitrary format that I can then split into separate variables. For extra cred I am also trying to suppress the output of the original command using a subshell and output redirection.</p>
  
  <p>This of course does not work. Trying to run a script containing just this line and the input "ls -l" and I get an error</p>
  
  <pre><code>command substitution: line 14: syntax error near unexpected token `('
  </code></pre>
  
  <p>After some playing around I have noticed that...</p>
  
  <pre><code>time (ls -l)
  </code></pre>
  
  <p>Works fine but</p>
  
  <pre><code>/usr/bin/time (ls -l)
  </code></pre>
  
  <p>Gives the error</p>
  
  <pre><code>bash: syntax error near unexpected token `ls'
  </code></pre>
  
  <p><strong>Why the difference in behaviour between the built-in and the binary?</strong></p>