环境变量配置文件的读取顺序整理

环境变量

环境变量是在操作系统中存储的一些特定于环境的信息,这些信息可以被操作系统和运行在其中的应用程序使用

环境变量分为临时永久两种

临时的环境变量就是会话为单位,当会话关闭的时候环境变量也会随之消失

永久的环境变量记录在文件中,在每次开机的时候会自动读取

不管是临时还是永久的环境变量都是同样的写法:

export val=0

区别在于,临时环境变量只需要在命令行中写入这句话就可以了

而永久的环境变量需要在特定的配置文件中写入

对于永久的环境变量,分为系统级别和用户级别,系统级别提供给所有的用户使用

用户级别是只有特定用户使用

读取顺序

文件描述
/etc/profile系统级别的配置文件,这里的环境参数面向所有的用户。所有登录 shell 会首先读取这个文件。
~/.bash_profile用户级别的配置文件,系统配置文件读取结束后优先寻找该文件。用于登录 shell 的配置。
~/.bash_login用户级别~/.bash_profile 不存在的话,会自动寻找 ~/.bash_login。用于登录 shell 的配置。
~/.profile用户级别~/.bash_profile~/.bash_login 都不存在的话,bash 会读取 ~/.profile。面向更通用的 sh 及其衍生 shell,不仅仅是 bash。
~/.bashrc用户级别,再打开一个新的非登录 shell(例如新终端窗口),不会再次激活 ~/.bash_profile~/.bash_login~/.profile,但是 ~/.bashrc 中的内容仍然会重新运行。用于非登录 shell 的配置。

大多数系统中使用的都是bash版本,所以所使用的配置文件都在上面5种的范围之内

包括macOS实际上也支持bash

其他版本sh的读取顺序

macOS的zsh的读取顺序
配置文件描述
/etc/zshenv系统级别的环境变量配置文件,首先被加载。所有 zsh 会话都会读取这个文件,无论是登录 shell 还是非登录 shell。
~/.zshenv用户级别的环境变量配置文件,接下来被加载。所有 zsh 会话都会读取这个文件,无论是登录 shell 还是非登录 shell。
/etc/zprofile系统级别的登录 shell 配置文件,仅在登录 shell 时读取。
~/.zprofile用户级别的登录 shell 配置文件,仅在登录 shell 时读取。
/etc/zshrc系统级别的 shell 配置文件,在所有交互式 shell 中读取。
~/.zshrc用户级别的 shell 配置文件,在所有交互式 shell 中读取。
/etc/zlogin系统范围内的登录后配置文件,仅在登录 shell 时读取。
~/.zlogin用户级别的登录后配置文件,仅在登录 shell 时读取。
ksh的读取顺序
配置文件描述
/etc/profile系统级别的配置文件,对所有用户有效。登录 shell 首先读取这个文件。
~/.profile用户级别的配置文件。/etc/profile 读取完毕后,登录 shell 读取该文件。
~/.kshrc用户级别的 ksh 配置文件,交互式 shell 中读取。
$ENV用户定义的环境变量,指向一个包含 ksh 配置的文件(如 ~/.kshrc)。在每个新 shell 启动时读取。
  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值