Linux Can';找不到谁在Ubuntu上设置http_代理环境变量

Linux Can';找不到谁在Ubuntu上设置http_代理环境变量,linux,shell,ubuntu,environment-variables,Linux,Shell,Ubuntu,Environment Variables,我在Ubuntu 16.10上 在终端运行时: env | grep proxy 我得到: https_proxy=https://127.0.0.1:8888/ http_proxy=http://127.0.0.1:8888/ 我找不到谁设置了这些环境变量 我尝试了所有的答案,但什么也找不到。 尝试了不同的外壳/端子。变量总是存在的 你知道还能是什么吗 查不到所有的嫌疑犯?然后是使用大炮的时候了: find /etc $HOME /usr/local -type f | xargs gr

我在Ubuntu 16.10上

在终端运行时:

env | grep proxy
我得到:

https_proxy=https://127.0.0.1:8888/
http_proxy=http://127.0.0.1:8888/
我找不到谁设置了这些环境变量

我尝试了所有的答案,但什么也找不到。 尝试了不同的外壳/端子。变量总是存在的


你知道还能是什么吗

查不到所有的嫌疑犯?然后是使用大炮的时候了:

find /etc $HOME /usr/local -type f | xargs grep -E 'https?_proxy'

以root用户身份运行此文件。添加您喜欢的目录。

当前shell中的环境变量只能在父进程中设置,或在shell源文件中设置。首先,我将打开相应rc文件中的shell跟踪,这些文件是在您登录时在主目录中获得的。这也是我验证环境变量是否已在此时设置的地方(这意味着它是由全局初始化过程设置的,例如位于/etc中的rc文件)。现在登录并检查输出

如果环境变量最初已经设置好了,那么除了让管理员删除它(这可能不起作用)之外,你不能做很多事情。如果最初没有设置,则需要查看shell跟踪的输出,直到找到设置变量的点,或者看到某个恶意脚本关闭跟踪为止


由于您没有提供任何信息,您使用的是哪个shell,因此我无法深入讨论

在我的例子中,这些env变量是由Fiddler web调试器设置的,我可以通过编辑
~/.bashrc
文件手动删除它们。此文件末尾有两行
export http(s)\u proxy…
。希望能有帮助

如果找不到源代码,请在相应的shell启动文件中使用
unset https\u proxy http\u proxy
将其取消。这可能就是我最终要做的。堆栈溢出是一个解决编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。我最后的猜测是它被编译成了一个可执行文件,从init、getty或login。在它们上面尝试
string-一个可执行的| grep proxy
。Ubuntu使用systemd吗?那也检查一下。谢谢你的回答。我把终结者和Zshell一起使用。正如我最初所说的,我尝试将本机终端与bash一起使用,但我仍然看到这些变量。我从未使用过Terminator,但我怀疑变量要么已经在启动Terminator的进程中设置,要么是Terminator设置了它。因此,我建议您继续执行我的建议,尤其要确保在zsh初始化文件中打印这些变量的值。之后,我们可以进一步缩小搜索范围。