title: Which characters need to be escaped when using Bash?
body: <p>Is there any comprehensive list of characters that need to be escaped in Bash? Can it be checked just with <code>sed</code>?</p>
  
  <p>In particular, I was checking whether <code>%</code> needs to be escaped or not. I tried</p>
  
  <pre><code>echo "h%h" | sed 's/%/i/g'
  </code></pre>
  
  <p>and worked fine, without escaping <code>%</code>. Does it mean <code>%</code> does not need to be escaped? Was this a good way to check the necessity?</p>
  
  <p>And more general: are they the same characters to escape in <code>shell</code> and <code>bash</code>?</p>