title: How to escape the '@' symbol in bash?
body: <p>I am trying to add my proxy with authentication parameters in bash, where my password contains an <code>@</code> symbol. The syntax to add proxy with authentication in bash is as follows:</p>
  
  <pre><code>export http_proxy=http://username:password@host:port_no/
  </code></pre>
  
  <p>Therefore, whenever I try to add a password with <code>@</code> in it, the applications that use this proxy try to connect to the string followed by the <code>@</code> symbol in the password.</p>
  
  <p>For example, if my password is <code>p@ssword</code>, and the host is proxy.college.com, the applications try to connect to <code>ssword@proxy.college.com</code>.</p>
  
  <p>I have tried escaping the <code>@</code> symbol using <code>\</code>, but this does has not solved.
  How do I make this work without changing my password?</p>
  
  <p><strong>Note:</strong> This question is not similar to <a href="https://stackoverflow.com/questions/6306386/how-can-i-escape-an-arbitrary-string-for-use-as-a-command-line-argument-in-bash">How can i escape an arbitrary string for use as a command line argument in bash</a> nor <a href="https://superuser.com/questions/183020/how-to-escape-the-at-sign-in-bash">How to escape the at sign in bash</a> since this specifically treats the '@' sign that comes up in commands where there is an <code>@</code> symbol already present and the <code>@</code> is used to delimit the given string into specific paramters.</p>
  
  <p><strong>P.S.:</strong> Though using the HTML code <code>%40</code> for <code>@</code> works, I would prefer a more readable method.</p>