- login shell:需要输入用户的帐号与密码,此时的bash就称为“login shell”。
- non-login shell:在原本的bash环境下再次执行bash这个命令,没有输入帐号和密码,那第二个bash(子进程)就是“non-login shell”。
login shell 的读取流程
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPn1kMNR0T5lEVNBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLzMDOzATMzUTM2ITNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
从上图可以看出来,最终被读取的配置文件是~/.bashrc这个文件。所以可以将自己的偏好设置写入该文件即可。
non-login shell 非登录情况
当取得non-login shell时,这个bash仅会读取~/.bashrc而已。默认的~/.bashrc内容如下:
注意:我这里用的是root身份取得的上述数据,如果是一般的用户的./bashrc会有些不同。