Linux配置文件测序
CopyRight:
Written by Shell.E.Xu. Published under GPL.
KeyWord:
Linux bash profile 配置文件。
Abstract:
利用变量声明次序测定多个配置文件是否被调用以及调用的次序。
环境:
Debian/GNU Linux starg 3.1
Kernel:2.6.16-686-2
测定方法,加入变量TEST=XXX。此方法可能被某些变量解除函数解除,因此不予执行的反应未必是真,不过执行次序一般假不了。
1.tty登录时
/etc/environment;/etc/profile;~/.bash_profile->~/.bashrc->/etc/bashrc;
/etc/environment;/etc/profile;~/.bash_login
/etc/environment;/etc/profile;~/.profile
当上级启动过程中文件不存在时,才进行下面的过程。
2.GDM登录时
/etc/environment
3.新启动bash时
/etc/bash.bashrc;~/.bashrc->/etc/bashrc;
4.~/.inputrc
根据文档,这个函数在readline函数初始化时启用。
5.结论
如果需要有效执行命令,需要同时修改/etc/profile和/etc/bash.bashrc。因为GDM登录的时候不执行登录脚本顺序,所以仅仅修改/etc/profile会造成对GUI下面开的term无效。虽然/etc/bashrc在理论上也有效,但是一旦~/.bashrc中没有引用,则无效(例如Debian中的root,由于安装系统的时候没有copy skel,所以缺少很多.XX文件)。如果仅仅是设定变量,可以用/etc/environment。该文件没有找到资料,其中仅可以设定变量(不用export,应当是被某程序作为配置读取而非脚本执行),据分析是登录时当即起效。