删除代理环境变量

时间:2014-12-12 08:47:52

标签: macos bash proxy

我一直在使用npm和git代理问题。

看起来代理在Bash中被设置为环境变量

如果我查看

env | grep -i proxy

我可以看到代理设置。

我可以用

取消设置代理
unset http_proxy
unset https_proxy
unset ftp_proxy

只要终端窗口打开,这似乎只会持续。

如果我关闭并重新打开终端,代理又会回来。

当我不在办公室时是否可以删除代理,然后在需要时重新创建代理?

1 个答案:

答案 0 :(得分:1)

您首先需要找出在您的案例中定义这些环境变量的位置。

通常,它们设置在~/.bash_profile文件(Mac OS X)或~/.bashrc文件(Linux)中。由于您使用osx标记了问题,因此我认为在您的情况下,它们已设置为~/.bash_profile

请检查此文件是否定义了这些变量。您可以使用Finder(您需要显示隐藏文件)或通过运行cat ~/.bash_profile从终端执行此操作。随意在您的问题中发布输出。

/etc/bashrc等系统范围的文件中定义它们的可能性很小。也可以随意查看该文件。

如果您需要定期定义/取消定义变量,我建议您为每个定义/取消定义创建一个脚本,并将其放在~/bin之类的位置。然后,您可以在打开新shell时调用相应的脚本。

我通过 Bash-it 框架处理这个问题。在我的fork中,我添加了一个代理插件,为此提供了功能。请随意尝试:https://github.com/nwinkler/bash-it/blob/master/plugins/available/proxy.plugin.bash

回答你的另一个问题:从shell窗口自动检测和更改代理的存在并不容易。