什么是环境变量
在 Linux Shell 登录成功以后,Linux 会从文件中获取一系列的数据为该次登录
所用,这些数据会在某些指令或某些程序中被使用到。这些数据就称为 Linux
Shell 运行时的环境。环境中的数据可以大致分为四种:环境变量,Shell 变量,
别名(alias),Shell 函数。
环境变量来自哪些文件?
Linux 会从文件中获取环境变量。那么是哪些文件在为 Linux Shell 提供环境变量呢?(后面再解释 login shell 与 non-login shell)
对于 login shell:
/etc/profile,这个文件是 login shell 的全局环境变量配置文件,全局意味着对所有用户都有效
/.bash_profile,/.bash_login,~/.profile,这三个文件用于配置用户个人的环境变量,所以每个用户的 HOME 目录下都会有至少这三个文件中的一个(取决于 linux 的发行版本),读取时只会读取其中一个。login shell 登录时 linux 会先读取 /etc/profile 这个全局配置文件,再在HOME目录按照一定顺序寻找这三个文件,最后会读取找到的第一个文件。若与 /etc/profile 中定义的变量有冲突,会将该变量覆盖。
对于 non-login shell:
/etc/bash.bashrc,这个文件是 non-login shell 的全局环境变量配置文件