login shell配置文件的读取流程

article/2023/6/4 14:40:36

介绍配置文件之前,先介绍两个概念: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://www.dgrt.cn/a/2109721.html

相关文章

压缩减小图像大小技巧:8个最佳 JPEG 图像压缩软件

如果您必须压缩以减小特定图像的大小&#xff0c;Jpeg 图像压缩软件可能会有很大用处。您无需自己动手&#xff0c;只需将图像上传到各种软件&#xff0c;等待工作完成即可。然而&#xff0c;大多数人通常对他们应该选择哪种软件感到困惑&#xff0c;因为可供选择的软件太多了。…

vbs编程入门

由于本经验是针对初次学习VBScript的小伙伴而定制的一篇经验&#xff0c;看完本经验。小编的目的是希望小伙伴能学会2点&#xff1a; 1、VBScript的解释器在哪 2、VBScript为什么能直接解释运行 3、第一个VBS函数——msgbox 先来说下什么是解释器&#xff1a;编程编程&#xff…

CGI与FastCGI

CGI与FastCGI为什么学习什么是CGICGI在LAMP/LNMP架构中的作用CGI的不足FastCGI的出现FastCGI的技术原理在PHP模块中的实现对进程的管理模式总结参考资源为什么学习 在学习HTTP协议和实现的过程中&#xff0c;接触到CGI程序。在搭建 LAMP/LNMP 服务器时&#xff0c;会经常遇到 …

开源内存数据库 DragonflyDB 1.0 正式 GA,可替代 Redis

DragonflyDB 是一个现代化的开源内存数据库&#xff0c;兼容 Redis 和 Memcached API&#xff0c;迁移时无需修改任何代码&#xff0c;可作为两者的替代方案。与传统的内存数据存储相比&#xff0c;DragonflyDB 提供了更高的吞吐量和缓存命中率、更低的尾延迟 (tail-latency)&a…

【开发实践】在线考试系统(三) Sortable实现试题的重排序

一、需求分析 开发一个在线考试系统&#xff0c;在教师组卷功能模块中&#xff0c;需要对已经选择的试题进行重排序&#xff0c;获得所需试题顺序的试卷。 如下是试卷编辑页面&#xff0c;需要在将已经选中的试题重排顺序。 二、技术引入 1、sortable.js sortable.js 官方…

辽宁申请互联网医院牌照流程

辽宁申请互联网医院牌照流程|沈阳市|大连市|鞍山市|抚顺市|本溪市|丹东市|锦州市|营口市|阜新市|辽阳市|盘锦市|铁岭市|朝阳市|葫芦岛市   很多的人对互联网医院都不是很了解&#xff0c;也不太清楚互联网医院牌照怎么申请&#xff0c;其实牌照申请每个地区都不太一样&#x…

《SpringBoot》第02章 自动配置机制(一) 项目启动

前言 关于SpringBoot&#xff0c;最大的特点就是开箱即用&#xff0c;通过自动配置机制&#xff0c;遵守约定大于配置这个准则&#xff0c;那么这个是如何实现的呢&#xff1f; 本章首先会介绍SpringBoot的启动执行 一、启动第一步&#xff1a;初始化 1.本章概述 当启动Sp…

深入学习JavaScript系列(七)——Promise async/await generator

本篇属于本系列第七篇 第一篇&#xff1a;#深入学习JavaScript系列&#xff08;一&#xff09;—— ES6中的JS执行上下文 第二篇&#xff1a;# 深入学习JavaScript系列&#xff08;二&#xff09;——作用域和作用域链 第三篇&#xff1a;# 深入学习JavaScript系列&#xff…