1.认识环境变量(PATH)

环境变量(PATH)是一个列表里面有序一些程序地址(一般是xxx/bin),添加环境变量后,系统在任何目录输入命令,都可以识别命令并执行命令对应程序环境变量作用就是告诉系统可以去这些地方找。

系统查找顺序是:当前目录-系统变量列表依次-环境变量列表依次

2. 认识环境文件

(1) /etc/profile:系统配置文件用户登录读取一次
(2) /etc/bash.bashrc:(Ubuntu)系统配置文件用户登录读取一次,每次打开一个终端会话读取一次。
/etc/bashrc: (Centos)系统配置文件用户登录读取一次,每次打开一个终端会话读取一次。
(3) ~/.profile (~/.bash_profile、~/.bash_login):用户配置文件,用户登录时读取一次
(4) ~/.bashrc:用户配置文件,用户登录时读取一次,每次打开一个终端会话时读取一次

1、系统配置文件用于全局,而用户配置文件针对当前登录的用户
2、先读取系统配置文件,再读取用户配置文件,用户配置文件变量表达式等都继承自系统配置文件

3. 环境变量初始化原理

登录Linux系统并启动一个 bash shell 时,默认情况下 bash 会在若干个文件查找环境变量设置,这些文件可统称为系统环境文件bash 检查的环境变量文件的情况取决于系统运行 Shell方式,系统运行 Shell方式有 3 种:

(1)通过系统用户登录后默认运行的 Shell
(2)非登录交互式运行 Shell
(3)执行脚本运行交互式 Shell

这三类可以对于环境变量生效影响可以分为两类:登录式shell非登录式shell

3.1. 登录shell方式进入Linux

账号密码登录——>/etc/profile全局文件G1)——>/etc/profile.d/(全局脚本目录F1)——> ~/.profile(用户文件U1)——> ~/.bashrc(用户文件U2)——>/etc/bash.bashrc(全局文件G2)

当用户登录 Linux 系统时,Shell 会作为登录 Shell 启动,此时的登录 Shell 加载环境变量的顺序如上图

用户登录系统后首先会加载 /etc/profile 全局环境变量文件,这是 Linux 系统上默认的 Shell 主环境变量文件,系统上每个用户登录都会加载这个文件。

当加载完 /etc/profile 文件后,才会执行 /etc/profile.d/目录下的脚本文件,这个目录下的脚本文件有很多,如下图以便用户登录后即可运行脚本
在这里插入图片描述

之后开始运行 ~/.profile(用户环境变量文件),在这个文件中,又会去找 ~/.bashrc(用户环境变量文件),如果有,则执行,如果没有,则不执行,在 ~/.bashrc文件中又会去找/etc/bash.bashrc(全局环境变量文件),如果有,则执行,如果没有,则不执行。

3.2. 非登录Shell方式进入Linux

需要输入密码的登录 or 远程 SSH 连接——> ~/.bashrc(用户文件U2)——>/etc/bash.bashrc(全局文件G2)

如果用户的Shell 不是登录时启动的(比如手动敲下 bash 时启动或者其他不需要输入密码的登录及远程 SSH 连接情况)那么这种非登录 Shell 只会加载 ~/.bashrc(用户环境变量文件),并会去找 /etc/bash.bashrc(全局环境变量文件)。

原文地址:https://blog.csdn.net/weixin_43693967/article/details/128352089

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_39022.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注