title: Alternatives to eval `ssh-agent` and exec ssh-agent bash
body: <p>Running either of these commands seems to start an SSH agent process successfully:</p>
  
  <pre><code>eval `ssh-agent`
  </code></pre>
  
  <p>OR</p>
  
  <pre><code>exec ssh-agent bash
  </code></pre>
  
  <p>I'm partial to the first one, because the second <code>exec</code> replaces the shell. Obviously the second, uses <code>eval</code> which is frowned upon by some, but I don't see alternatives. </p>
  
  <hr>
  
  <p><em>My questions are:</em></p>
  
  <ol>
  <li>Does <code>exec</code> have any negative side effects when replacing the shell or indeed any side effects at all? Are my concerns about using <code>exec</code> warranted?</li>
  <li>I don't have an issue using <code>eval</code> but, out of interest what alternative commands are there <strong>without scripts or functions</strong> (and without <code>exec</code> or <code>eval</code>) to start an ssh-agent process in one line?</li>
  </ol>