再加上linux/Unix系统分支太多、版本延续等原因,导致设置环境变量的涉及文件差别太大。于是,除长期使用某Linux平台用户外,大都对环境变量设置比较浆糊,只能随用随查。
注意:本文内容可能随Linux版本不同有细微差异。
一、linux环境变量文件
涉及文件有:
/etc/environment - 在登录时首先加载。
/etc/profile - 系统初始化文件,全局用户环境变量,登录时执行.
~/.bash_profile - 登录时设置生效,当用户登录时,该文件执行一次。
~/.bashrc - 个人交互式shell启动生效。当登录时及每次打开新Shell时,该该文件被执行。
~/.bash_login -个人登录Shell生效,登录时执行。
~/.bash_logout - 个人登录Shell清理文件,退出Shell时执行。
按照IBM网站说法/etc/environment本来是属于交互式登录时第一个执行的(先于/etc/profile),但是,天缘查看最新的centos 6.3上/etc/environment已为空文件,从/etc/profile说明来看,似乎系统更加倾向于要求用户不要修改这些默认的配置文件,而是把自己的配置文件放入专门的目录(/etc/profile.d/*.sh等位置)。
二、交互式登录SHELL
登录时执行顺序:
登出时执行:
请注意~/.bashrc执行的是/etc/bashrc:
三、交互式非登录SHELL
备注:
~/.profile 表示 $HOME/.profile
交互式登陆Shell与交互式非登录Shell区别:前者执行/etc/profile和~/.bash_profile, ~/.bash_login, and ~/.profile,后者只执行/etc/bash.bashrc和~/.bashrc。
您可能感兴趣的文章:
Linux环境变量的设置与查看
设置Linux环境变量的三种方法
Linux环境变量配置小结