I am trying to add my proxy with authentication parameters in bash, where my password contains an @
symbol. The syntax to add proxy with authentication in bash is as follows:
export http_proxy=http://username:password@host:port_no/
Therefore, whenever I try to add a password with @
in it, the applications that use this proxy try to connect to the string followed by the @
symbol in the password.
For example, if my password is p@ssword
, and the host is proxy.college.com, the applications try to connect to [email protected]
.
I have tried escaping the @
symbol using \
, but this does has not solved.
How do I make this work without changing my password?
Note: This question is not similar to How can i escape an arbitrary string for use as a command line argument in bash nor How to escape the at sign in bash since this specifically treats the '@' sign that comes up in commands where there is an @
symbol already present and the @
is used to delimit the given string into specific paramters.
P.S.: Though using the HTML code %40
for @
works, I would prefer a more readable method.
Note the % <percent-sign> character within the printf argument. We can ignore its special meaning by escaping it with another <percent-sign>: %%. This preserves the literal value.
The escape (\) preceding a character tells the shell to interpret that character literally. With certain commands and utilities, such as echo and sed, escaping a character may have the opposite effect - it can toggle on a special meaning for that character.
z/OS UNIX System Services User's GuideAll escape sequences are made from a backslash character ( \ ) followed by one to three other characters. Escape sequences are used inside strings, not just those for printf, to represent special characters. In particular, the \n escape sequence represents the newline character.
In bash ; escape with '\'. You do not need to escape the colon; assuming the variable values are correct, quoting the expansions is the only thing that may make a difference.
You can use %40
instead of an @
sign.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With