日期:2014-05-16 浏览次数:20627 次
默认情况下,在shell中改变或设置的变量只在此次登录中有效,一旦logout后再login,则设定恢复初始值。
比如,在shell中设定变量 a=3,在当前shell 中可以通过 set | grep 'a=3' 来查看到刚刚设定的变量值, 但在其他的shell中是看不到这个变量的,而且当这个shell关闭这个变量也就随之消失了。
?
bash在用户登录时会从四个文件中读取环境变量的设定:
全局设置文件
/etc/profile
/etc/bashrc?
用户设置文件
~/.bashrc
~/.bash_profile?
?
~/.bash_logout:在用户logout的时候自动执行
~/.bash_history:用户login时自动读取其内容并加载到内存history记录中,logout时将内存history记录写入。
/etc/profile.d/*.sh:在/etc/profile中被执行,其中的环境变量设定,也会被全局引用
?
登录shell执行的文件顺序:
/etc/profile
/etc/profile.d/*.sh
~/.bash_profile
~/.bashrc
/etc/bashrc
?
?
?
?