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 基础知识

linux下/etc/profile/etc/bashrc~/.bashrc 和~/.bash_profile文件的区别

Linux下文件 ~/.bashrc 和 ~/.bash_profile 和 /etc/bashrc 和 /etc/profile 的区别 | 用户登录后加载配置文件的顺序

Linux命令进阶