linux login shell 配置文件读取流程

    介绍配置文件之前,先介绍两个概念:login shell、no-login shell

  • login shell
        取得 bash 时要完整的登录流程。
  • no-login shell
        取得 bash 接口时不需要重复的登录动作。如在 X Window 下登录后启动 bash 不需要输入密码。

    login shell 在启动的时候,会读取两个配置文件:/etc/profile、~/.bash_profile(或 ~/.bash_login 或 ~/.profile)

    一、/etc/profile

        这个文件是系统的整体设定,利用 UID 决定许多重要的变量数据,也是每个使用者登录 bash 的时候一定会读取的配置文件。主要有一下几个变量:

    PATH:环境变量。会依据 UID 决定是否要包含 sbin 的系统目录
    MAIL:依据 UID 决定使用者的邮箱
    USER:用户名
    HOSTNAME:主机名
    HISTSIZE:历史命令记录数

/etc/profile 文件还会包含仅外部设定的数据,包括一下文件: 

  • /etc/inputrc
        自定义按键输入功能。
  • /etc/profile.d/*.sh
        bash 窗口的颜色、语系、命令别名等的一些设定。
  • /etc/sysconfig/i18n
        语系设定。

    二、~/.bash_profile

    bash 在读取完整体环境设定的 /etc/profile 并呼叫其他配置文件之后,接下来会读取使用者的个人配置文件。在 login shell 的环境下,读取的个人配置文件主要有以下三个:
    1.~/.bash_profile
    2.~/.bash_login
    3.~/.profile

bash 只会读取上面文件中的一个,而且读取的优先级 1 > 2 > 3。

    最后,login shell 的配置文件读取流程可以这样表示

        /etc/profile-------------------->~/.bash_profile---------------->开始操作 bash
                |                                        |
                |                                        |
                |- - ->/etc/inputrc                 |- - ->~/.bashrc
                |                                                        |
                |- - ->/etc/profile.d/*.sh <- - -  - - - /etc/bashrc
                                |
                        /etc/sysconfig/i18n

    实线方向是主流程,虚线方向是被呼叫的配置文件。

转载于:https://my.oschina.net/JerryBaby/blog/180321

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值