我正在尝试在bash中添加带有身份验证参数的代理,其中我的密码包含@
符号。在bash中使用身份验证添加代理的语法如下:
export http_proxy=http://username:password@host:port_no/
因此,每当我尝试在其中添加@
密码时,使用此代理的应用程序会尝试连接密码后面跟着@
符号的字符串。
例如,如果我的密码为p@ssword
,主机为proxy.college.com,则应用程序会尝试连接到ssword@proxy.college.com
。
我尝试使用@
转义\
符号,但这确实没有解决。
如何在不更改密码的情况下完成此工作?
注意:此问题与How can i escape an arbitrary string for use as a command line argument in bash和How to escape the at sign in bash不相似,因为这会特别处理出现{{1}命令时出现的'@'符号}}符号已存在且@
用于将给定字符串分隔为特定参数。
P.S。:虽然@
使用HTML代码%40
,但我更喜欢更易读的方法。
答案 0 :(得分:7)
您可以使用%40
代替@
符号。