红联Linux门户
Linux帮助

linux读取profile文件和bashrc文件的情况

发布时间:2016-09-19 14:46:04来源:linux网站作者:大寂
最近研究linux,对linux的profile文件和bashrc文件有些不清楚,于是深入研究了一下。
如果想知道这些文件什么时候被执行,还需要知道几个关于shell的小知识。(CentOS6.5 linux)
 
1.login shell,登录shell,即init 3启动linux后,需要输入用户名和密码,进入的shell就是loginshell。
注意:在shell里使用su - user_name 切换用户,登录的shell也是login shell
login shell会读取的文件有:/etc/profile,$HOME/.bash_profile,$HOME/.bash_login,$HOME/.profile,按以上顺序读取。
 
2.有login shell就有no login shell。
no login shell有,在login  shell中输入bash,没有输入用户名和密码,那么这个就是no login shell。
在图形界面下,打开一个shell也是no login shell
no login shell 在打开的时候,执行的文件是$HOME/.bashrc,而.bashrc又会执行/etc/bashrc文件(可查看家目录的.bashrc文件)。
 
下面是一张简单的流程图:
linux读取profile文件和bashrc文件的情况
 
举例:
1.在非图形界面,如果要配置PS1这个环境变量,最好配置到/etc/profile或是$HOME/.bash_profile中,这样登出在登录一下,就会执行这个命令。
 
2.如果是图形界面的用户,配置PS1,需要配置的时$HOME/.bashrc文件,或是/etc/bashrc文件,因为打开no login shell的时候,读取的时候$HOME/.bashrc(这个文件会读取/etc/bashrc)这个文件。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/24293.html