linux读取profile文件和bashrc文件的情况
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux读取profile文件和bashrc文件的情况相关的知识,希望对你有一定的参考价值。
最近研究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文件)。
下面是一张简单的流程图:
举例:1.在非图形界面,如果要配置PS1这个环境变量,最好配置到/etc/profile或是$HOME/.bash_profile中,这样登出在登录一下,就会执行这个命令
2.如果是图形界面的用户,配置PS1,需要配置的时$HOME/.bashrc文件,或是/etc/bashrc文件,因为打开no login shell的时候,读取的时
$HOME/.bashrc(这个文件会读取/etc/bashrc)这个文件。
以上是关于linux读取profile文件和bashrc文件的情况的主要内容,如果未能解决你的问题,请参考以下文章
linux 下/etc/profile/etc/bashrc~/.bash_profile~/.bashrc 文件的区别
Linux环境变量设置/etc/profile/etc/bashrc~/.profile~/.bashrc区别
linux下/etc/profile/etc/bashrc~/.bashrc 和~/.bash_profile文件的区别
Linux下文件 ~/.bashrc 和 ~/.bash_profile 和 /etc/bashrc 和 /etc/profile 的区别 | 用户登录后加载配置文件的顺序