用户登录系统后,bash程序就会启动并读取一系列称为启动文件的配置脚本,这些脚本定义了所有用户共享的默认环境。
接下来,bash会读取更多存储在主目录下的用于定义个人环境的启动文件。 这些步骤执行的确切顺序是由启动的shell会话类型决定的。
shell会话存在两种类型,分别为login shell会话和non-login shell会话。
login shell会话会提示用户输入用户名和密码,如虚拟控制台会话。而我们在GUI中启动的终端会话就是一个典型的non-login shell会话。
login shell会读取一个或多个启动文件:
1 /etc/profile 适用于所有用户的全局配s啣本
2 ~/.bash_profile 用户的个人启动文件。可扩展或重写全局配置脚本中的设置。
3 ~/.bash_login 若~/.bash_profile缺失,则bash尝试读取此脚本(我在centos系统中,看到的是.bash_out)。
4 ~/.profile 若~/.bash_profile与~/.bash_login均缺失,则bash尝试读取此文件。在基于Debian的Linux版本中(比如Ubuntu),这是默认值。
non-login shell读取的启动文件:
1 /etc/bash.bashrc 适用于所有用户的全局配置脚本(我的centos系统中没有这个文件)。
2 ~/.bashrc 用户的个人启动文件。可扩展或重写全局配置脚本中的设置。
网友评论