阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

介绍Linux配置文件的生效顺序:profile、bashrc

82次阅读
没有评论

共计 1488 个字符,预计需要花费 4 分钟才能阅读完成。

导读环境变量初始化与对应文件的生效顺序,在登录 Linux 系统并启动一个 bash shell 时,默认情况下 bash 会在若干个文件中查找环境变量的设置,这些文件可统称为系统环境文件,bash 检查的环境变量文件的情况取决于系统运行 Shell 的方式。

介绍 Linux 配置文件的生效顺序:profile、bashrc

系统运行 Shell 的方式有 3 种

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

1、登录 shell 方式进入 Linux

账号和密码——>/etc/profile(全局文件 G1)——>/etc/profile.d/(全局脚本目录 F1)——> ~/.bash_profile(用户文件 U1)——> ~/.bashrc(用户文件 U2)——>/etc/bashrc(全局文件 G2)当用户登录 Linux 系统时,Shell 会作为登录 Shell 启动,此时的登录 Shell 加载环境变量的顺序如上。用户登录系统后首先会加载 /etc/profile 全局环境变量文件,这是 Linux 系统上默认的 Shell 主环境变量文件,系统上每个用户登录都会加载这个文件。当加载完 /etc/profile 文件后,才会执行 /etc/profile.d/ 目录下的脚本文件,这个目录下的脚本文件由很多,例如:系统的字符集设置(/etc/sysconfig/i18n)等,以便用户登录后即可运行脚本 之后开始运行 ~/.bash_profile(用户环境变量文件),在这个文件中,又会去找  ~/.bashrc(用户环境变量文件),如果有,则执行,如果没有,则不执行,在  ~/.bashrc文件中又会去找/etc/bashrc(全局环境变量文件),如果有,则执行,如果没有,则不执行。

2、非登录 Shell 方式进入 Linux

不需要输入密码的登录及远程 SSH 连接——>  ~/.bashrc(用户文件 U2)——>/etc/bashrc(全局文件 G2)如果用户的 Shell 不是登录时启动的(比如手动敲下 bash 时启动或者其他不需要输入密码的登录及远程 SSH 连接情况)那么这种非登录 Shell 只会加载  ~/.bashrc(用户环境变量文件),并会去找  /etc/bashrc(全局环境变量文件),因此如果希望在非登录 Shell 下也可读到设置的环境变量等内容,就需要将变量设定写入  ~/.bashrc 或者 /etc/bashrc,而不是  ~/.bash_profile/etc/profile
1、/etc/profile:系统配置文件,用户登录时读取一次
2、/etc/bash.bashrc:(Ubuntu)系统配置文件,用户登录时读取一次,每次打开一个新终端会话时读取一次。/etc/bashrc:(Centos)系统配置文件,用户登录时读取一次,每次打开一个新终端会话时读取一次。
3、~/.profile~/.bash_profile~/.bash_login):用户配置文件,用户登录时读取一次
4、~/.bashrc:用户配置文件,用户登录时读取一次,每次打开一个新终端会话时读取一次
对于 ~/.bash_profile~/.bash_login~/.profile,如果终端绑定的是 bash,则按照我书写的顺序进行读取(如果存在,就不继续读取)
1、系统配置文件作用于全局,而用户配置文件仅针对当前登录的用户
2、先读取系统配置文件,再读取用户配置文件,用户配置文件的变量和表达式等都继承自系统配置文件

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1488字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中