如何在 Ubuntu 的配置文件中使用转义序列?

如何在 Ubuntu 的配置文件中使用转义序列?

我在 Ubuntu 中通过 http 代理隧道传输 apt 时遇到了问题。

https://askubuntu.com/questions/23666/apt-get-does-not-work-with-proxy

https://askubuntu.com/questions/158557/setting-proxy-from-terminal

这些问题描述了问题和解决方案。它要求我创建一个文件“apt.conf”并输入以下格式的一行。

http://[username]:[password]@[proxy-webaddress]:[port]

问题是密码中有“@”。

这是我收到的错误。 错误

问题是如何在配置文件中包含密码。

我尝试使用“@”和“/@”,但都出现了错误,虽然不完全相同,但都类似“暂时无法解析 ID 和密码”

这是我写的

Acquire::http::proxy "http://tarun:usa@[email protected]:808/";

我努力了,

Acquire::http::proxy "http://tarun:usa\'@\'[email protected]:808/";

Acquire::http::proxy "http://tarun:usa\@[email protected]:808/";

Acquire::http::proxy "http://tarun:usa/@[email protected]:808/";

Acquire::http::proxy "'http://tarun:usa/@[email protected]:808/'";

Acquire::http::proxy "\'http://tarun:usa/@[email protected]:808/\'";

Acquire::http::proxy "`http://tarun:usa/@[email protected]:808/`";

答案1

我注意到错误信息是,"Could not resolve <address>"这意味着这<address>是一个 URL。搜索 URL 会让我找到字符的 URL 编码。

为了将其包含@在我的地址中,我可以使用 对其进行编码%40。因此,整个字符串变为。解析时 %40 被解码为 @。效果很好。http://tarun:usa%[email protected]:808

更多内容请点击这里 URL 编码

答案2

http://www.shellscript.sh/escape.html

感谢编辑。你需要逃离整个字符串不仅仅是@字符Acquire::http::proxy "'tarun:usa@9356@http://192.17.2.4:808/'";- 在双引号内使用单引号

相关内容