比这里描述的帖子更普遍:在 rc 文件中使用 bash 功能
我想为所有/多个应用程序设置适当的代理配置,包括但不限于:snap/apt/cpan/pip/wget/curl。此外,我想避免我的代理密码以纯文本形式显示在任何地方。如何/可能实现这一目标?
这个帖子意味着每个系统进程都将通过/etc/environment
.我还没有取得这样的成功(请参阅编辑),因此我目前假设所有代理配置都必须针对每个应用程序进行。关于链接帖子,以及 的使用secret-tool
,在我看来,这假设定义代理配置的文件可以计算 bash 表达式(这不是我使用.curlrc
/.wgetrc
文件的经验)。
编辑:
其内容etc/environment
等于:
http_proxy=http://user:[email protected]:80
https_proxy=http://user:[email protected]:80
我的文件的内容.curlrc
等于:
proxy=http://user:[email protected]:80
我可以跑:
curl https://unix.stackexchange.com/posts/752654/edit --output test.html
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 70115 0 70115 0 0 99k 0 --:--:-- --:--:-- --:--:-- 99k
其生成test.html
符合预期。
如果不更改文件内容/etc/environment
和删除.curlrc
文件,下载将无限期挂起:
curl https://unix.stackexchange.com/posts/752654/edit --output test.html
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:25 --:--:-- 0
我在 WSL 上使用 RHEL。