title: how does fabric execute commands?
body: <p>i am wondering how does fabric execute commands.</p>
  
  <p>Let's say I give him <code>env.user=User</code>, <code>env.host=HOST</code>. Then i ask him to <code>sudo('ls')</code>
  Is that equivalent to me typing in a shell : <code>ssh User@host 'sudo(/bin/ls)'</code>
  or it's more : <code>ssh User@host</code> in a first time, then <code>sudo ls</code> commande in a seconde time ?</p>
  
  <p>I'm asking that because sometimes using a shell, if the TTY has a bad configuration (I am a bit blurry on this), <code>ssh User@Host 'sudo /bin/ls'</code>
  return : <code>sudo: no tty present and no askpass program specified</code>
  but you can first log in with <code>ssh User@Host</code> then <code>sudo ls</code> and it works.</p>
  
  <p>I don't know how to replicate the no tty error, but I know it can occurs. Would this block the sudo commande from Fabric?</p>