启动一个bash shell的时候,默认情况下bash会执行一些启动文件,执行哪些启动文件是由你启动bash shell的方式。一般来说启动bash shell有三种方式:
- 登录shell
- 非登录交互式shell
- 非交互式shell
登录shell,
当你登录Linux系统的时候,一般来说都是作为登录shell来启动的。登录shell会从4个不同的启动文件里来读取命令。
- /etc/profile 系统默认的shell主启动文件 每个登录Linux的用户都会执行这个启动文件
- $HOME/.bash_profile
- $HOME/.bash_login
- $HOME/.profile
每个distribution都会包含第1个启动文件,后面3个并不都是包含在每个distribution里面。后面3个启动文件都属于用户专属的启动文件,执行启动文件的顺序是从上往下开始执行。

当启动bash shell时,根据启动方式不同(登录shell、非登录交互式shell、非交互式shell),bash会执行不同的启动文件。登录shell会读取包括/etc/profile和用户专属的.bash_profile等文件;非登录交互式shell仅执行$HOME/.bashrc;非交互式shell通过BASH_ENV环境变量指定启动文件。系统级别的环境变量通常在/etc/environment或/etc/profile.d目录下设置。
最低0.47元/天 解锁文章
1985

被折叠的 条评论
为什么被折叠?



