缘起
写这篇博客的原因是配置的环境变量和系统显示的不一样。然而并没有找到原因,由此才有了这篇博客,浅谈环境变量(博文中的命令可不予理会,纯粹为了还原当时情景)。
配置环境变量
之前个人对环境变量的配置一直是通过一下命令:
[root@localhost ROOT]# vi /etc/profile
然而这次我在里面添加了go的配置项GOROOT,命令如下:
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
然后我通过命令查看 ,如下:
go env
得到GOROOT
结果和配置的不在一个地方,如下:
GOROOT="/usr/local/golang"
这是背景。之后我便查了很多资料究其原因。
环境变量配置文件
众所周知,在Linux中,环境变量通常是被配置在文件中,那么问题来了,到底有多少文件可以配置环境变量?
位置 | 说明 |
---|---|
/etc/profile | 配置全局环境变量 |
/root/.base_profile | 配置用户环境变量 |
/root/.bash_history | 记录历史操作 |
/root/.bash_logout | 保存用户登出时执行的命令 |
/root/.bashrc | 个性化配置文件 |
这些就是配置文件和一些隐藏文件的作用,而我之前配置的文件一直没生效,则是因为我在.base_profile文件内也配置过GOROOT,导致配置被覆盖,这也说明了用户的环境变量是在全局环境变量之后才被加载。