title: Why does bash documentation suggest quoting wildcard characters?
body: <p>In several manuals (including the official GNU/Linux Command-Line Tools <a href="http://tldp.org/LDP/GNU-Linux-Tools-Summary/html/x11655.htm" rel="nofollow">tldp.org</a>) is recommended to use single (or double quotes) to avoid bash to interpret wildcards or regex symbols like caret (^) and dollar ($).</p>
  
  <p>But in some examples that's not necessary to use single/double quotes. For instance:</p>
  
  <p>(1)</p>
  
  <pre><code>$ touch 'fo*'
  </code></pre>
  
  <p>and</p>
  
  <pre><code>$ touch fo*
  </code></pre>
  
  <p>creates the same file <code>fo*</code> in both command line forms.</p>
  
  <p>(2)</p>
  
  <pre><code>$ grep '^foo' file.txt
  </code></pre>
  
  <p>and</p>
  
  <pre><code>$ grep ^foo file.txt
  </code></pre>
  
  <p>both search for <code>foo</code> as a string in beginning of the lines of file.txt.</p>
  
  <p>Why manuals recommend to use single/double quotes to avoid bash interpretation if bash in fact does not interpret some wildcards and regex symbols in first place?</p>