如何在bash中转义'@'符号?

job*_*bin 2 bash proxy at-sign

我正在尝试使用bash中的身份验证参数添加我的代理,其中我的密码包含一个@符号.在bash中使用身份验证添加代理的语法如下:

export http_proxy=http://username:password@host:port_no/
Run Code Online (Sandbox Code Playgroud)

因此,每当我尝试在其中添加密码时@,使用此代理的应用程序会尝试连接到字符串,后跟@密码中的符号.

例如,如果我的密码是p@ssword,并且主机是proxy.college.com,则应用程序尝试连接到ssword@proxy.college.com.

我已经尝试使用转义@符号\,但这确实没有解决.如何在不更改密码的情况下完成此工作?

注意:这个问题与我如何逃避任意字符串以用作bash中的命令行参数以及如何在bash 中转义at符号类似,因为这特别处理命令中出现的'@'符号@已存在的符号,@用于将给定的字符串分隔为特定的参数.

PS:虽然使用的HTML代码%40@作品,我宁愿一个更具可读性的方法.

Dav*_*rtz 7

您可以使用%40而不是@标志.