我正在尝试在 bash 中添加带有身份验证参数的代理,其中我的密码包含一个@
符号。在 bash 中添加带身份验证的代理的语法如下:
export http_proxy=http://username:password@host:port_no/
因此,每当我尝试在其中添加密码时@
,使用此代理的应用程序都会尝试连接到密码中后跟@
符号的字符串。
例如,如果我的密码是p@ssword
,并且主机是 proxy.college.com,则应用程序会尝试连接到ssword@proxy.college.com
。
我尝试@
使用 转义符号\
,但这并没有解决。如何在不更改密码的情况下完成这项工作?
注意:这个问题与如何转义任意字符串以用作 bash 中的命令行参数或如何转义 bash 中的 at 符号不同,因为这专门处理出现在命令中的“@”符号一个@
已经存在的符号,@
用于将给定的字符串分隔为特定的参数。
PS:虽然使用 HTML 代码%40
进行@
作品,但我更喜欢可读性更高的方法。