为什么source /etc/profile之后,环境变量没有被删除
我在/etc/profile文件最后加入了一行
export PATH=$PATH:/usr/local/arm/4.4.3/bin
然后,source /etc/profile,arm-linux-gcc生效。
然后我把/etc/profile中删掉
export PATH=$PATH:/usr/local/arm/4.4.3/bin
然后,再次source /etc/profile
然后,echo $PATH竟然还包括/usr/local/arm/4.4.3/bin
which arm-linux-gcc竟然也还能找到,为什么呢?
------解决方案--------------------重启就删除了。原来的PATH不会变。
或者重新设置
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin #不要加:$PATH,否则也不会删除。
------解决方案--------------------soruce命令是在当前 shell 中执行一个文件中的命令;
第一次设置环境变量,由于export写在配置文件里,source时执行export命令,环境变量生效;
第二次取消环境变量的设置,由于配置文件里没有取消上一次设置的环境变量的命令,所以上次设置的变量依然有效;
我是这样理解的