事情经过:
今天在ubuntu下使用http代理的时候,碰到一个奇怪的现象。就是在当前shell窗口下,输入“env | grep proxy”,显示的http_proxy一直都存在,即使我修改了本地的网络代理(修改方法:http://www.cnblogs.com/xujanus/p/8679165.html),也没有效果。即使当前窗口unset http_proxy,下次打开命令窗口,这个代理的环境变量还是存在。
这和我之前对ubuntu下的环境的读取方式,理解不同。我之前一直以为命令窗口下的env环境变量,是通过读取系统的环境变量,如 /etc/environment里的。但是通过这次踩坑,我发现。其实ubuntu应该还有一处保存环境变量的地方X,它会记录每次关机时,/etc/environment里设置的代理地址。然后当电脑再次启动的时候,就会把这个代理地址,作为下次系统运行时的全局变量。而且是不!能!修!改!(暂时我只能找到通过去除代理重启电脑的方式来解决)
总结:
1.电脑关机的时候,尽量把网络代理给关掉,否则下次开机就会变成一个在命令行下的全局环境变量,而且只能通过重启解决。
2.运行命令窗口的时候,多留意当前环境下的环境变量如何,不一定和你想法是一致的(输入 env查看)
后续:
后面研究下,为什么设置了网络代理以后,重启电脑它就会变成不能修改的全局变量。另外,一定有办法能修改,只是目前没找到,后面可以研究下。