|
发表于 2004-5-19 10:49:23
|
显示全部楼层
Linux自然与Unix不同,关键看它的shell的配置原理。
Linux下的shell是bash,而bash的配置原则如下:
1. /etc/profile是交互式登录shell的全局配置文件,~/.bash_profile是相应的个人配置文件,后者的运行优先级高于前者
2. /etc/bashrc是交互式非登录shell的全局配置文件,~/.bashrc是相应的个人配置文件,后者的优先级别高于前者
对于大多数发行版本(因为发行版本的bash会打有不同的补丁,如Debian),系统启动后,打开一个tty,在其上产生一个登录进程login,用户登录后就会为其运行一个shell,这时候先执行/etc/profile,然后执行~/.bash_profile;在其后,用户自行创建一个交互式shell,注意,和profile不同,如果存在~/.bashrc,则执行它而不执行/etc/bashrc(这也正是rh在~/.bashrc里source /etc/bashrc的原因)。
另外,有一点例外,对于debian而言,如果使用kdm等x显示管理器来进行登录,则可能不会执行/etc/profile,这时候要自己在相应的x配置文件里调用/etc/profile;若只要设置环境变量,可使用/etc/environment。 |
|