title: What is a sourced shell function?
body: <p>In the nvm <a href="https://github.com/creationix/nvm/blob/master/README.markdown" rel="noreferrer">README.markdown</a> it says</p>
  
  <blockquote>
    <p>Please note that <code>which nvm</code> will not work, since <code>nvm</code> is a sourced shell
    function, not an executable binary.</p>
  </blockquote>
  
  <p>What I found is the nvm install process will update the <code>.bashrc</code> with </p>
  
  <pre><code>[ -s "$NVM_DIR/nvm.sh" ] &amp;&amp; . "$NVM_DIR/nvm.sh"  # This loads nvm
  </code></pre>
  
  <p>Somehow this makes the <code>nvm</code> command available to the shell. My question is what is a "sourced shell function" and what exactly does the command nvm execute?</p>