以ubuntu server 11.10 为例,
1) 当服务器启动时,SHELL环境的初始化过程如下:
/etc/environment –> /etc/default/ 中的配置脚本
2)当一个用户登录SHELL的时候
/etc/profile --> $HOME/.profile
如果是BASH SHELL , 则是
/etc/profile –> /etc/bash.bashrc --> $HOME/.profile --> $HOME/.bashrc
3) 如果一个用户打开一个BASH SHELL 或 使用su 切换用户身份时, 则
/etc/bash.bashrc –> $HOME/.bashrc
其中:
/etc/environment 设置全局环境变量, 重启服务器生效
/etc/default/目录中的配置脚本 设置特定的全局环境变量
/etc/profile 当用户重新登录时,该文件被执行. 并依次调用/etc/profile.d目录中的所有脚本。如果是初始化BASH SHELL , 还会调用/etc/bash.bashrc
/etc/bash.bashrc 每次启动一个BASH SHELL时都会执行该脚本
$HOME/.profile 作用等同/etc/profile
$HOME/.bashrc 作用等同/etc/bash.bashrc
$HOME/.bash_logout 当每次退出SHELL环境时被执行