Suppose for the sake of argument my password below is abc123@
I need to authenticate my linux machine through a corporate proxy to get patches and updates... normally I'd use this:
export HTTP_PROXY='http://<Americas\Username>:<Password>@proxy.foo.com'
export http_proxy='http://<Americas\Username>:<Password>@proxy.foo.com'
However, when I substitute a real password ending with @ and then run aptitude update, I get...
[mpenning@netwiki ~]$ sudo -E aptitude update
Err http://mirror.anl.gov squeeze Release.gpg
Could not resolve '@proxy.foo.com'
Err http://mirror.anl.gov/debian/ squeeze/main Translation-en
Could not resolve '@proxy.foo.com'
I have tried escaping the password with \@, escaping both with \@\@, double characters (@@), and nothing seems to get this to proxy correctly; I never had a problem until I changed my password recently.
What is the right way to escape my password in bash?