环境变量--永久 & 暂时

Linux 环境变量配置信息

查看环境变量

  • export 查看系统所有环境变量
  • echo $PATH 查看 PATH 环境变量值
    在这里插入图片描述

在这里插入图片描述

环境变量的命名规则为:变量名=变量值 多个变量值之间使用 : 分隔

添加环境变量

环境变量分类

按照作用域分类

环境变量可以简单的分成用户自定义的环境变量以及系统级别的环境变量。

  • 用户级别环境变量定义文件:~/.bashrc~/.profile(部分系统为:~/.bash_profile
  • 系统级别环境变量定义文件:/etc/bashrc/etc/profile(部分系统为:/etc/bash_profile)、/etc/environment

另外在用户环境变量中,系统会首先读取~/.bash_profile(或者~/.profile)文件,如果没有该文件则读取~/.bash_login,根据这些文件中内容再去读取~/.bashrc

按照生命周期分类

inux环境变量可以分为两类:

  • 永久的 需要用户修改相关的配置文件,变量永久生效。
  • 临时的 用户利用export命令,在当前终端下声明环境变量,关闭Shell终端失效。

使用 export 添加临时环境变量

仿照上文提到的环境变量命名规则,使用命令
export PATH=/home/username/python/bin:$PATH
注意:

  1. 使用 export 变量值可以使用双引号也可以不使用
  2. 记得添加以前的 PATH 值,在前在后均可以
  3. 该声明是临时生效,在当前终端下声明环境变量,关闭Shell终端失效。

修改配置文件添加永久临时变量

vi ~/.bashrc
vim ~/.bashrc 

# 在最后一行加上 
export PATH=$PATH:/home/username/username/bin

# 立即生效
source ~/.bashrc
  • 对当前用户生效
  • 永久有效
vi ~/.bash_profile
vim ~/.bash_bashrc 

# 在最后一行加上 
export PATH=$PATH:/home/username/username/bin

# 立即生效
source ~/.bash_bashrc
  • 对当前用户生效
  • 永久有效
vi /etc/bashrc
vim /etc/bashrc 

# 在最后一行加上 
export PATH=$PATH:/home/username/username/bin

# 立即生效
source /etc/bashrc
  • 对所有用户生效
  • 永久有效
vi /etc/profile
vim /etc/profile 

# 在最后一行加上 
export PATH=$PATH:/home/username/username/bin

# 立即生效
source /etc/profile
  • 对所有用户生效
  • 永久有效

Linux 环境变量加载原理

.bashrc文件和.bash_profile文件的区别

  • ~/.bash_profile 是交互式、login 方式进入 bash 运行的
  • ~/.bashrc 是交互式 non-login 方式进入 bash

运行的通常二者设置大致相同,所以通常前者会调用后者。所以一般优先把变量设置在.bashrc里面。比如在crontab里面执行一个命令,.bashrc设置的环境变量会生效,而.bash_profile不会。

简单的说,.bash_profile只在会话开始时被读取一次,而.bashrc则每次打开新的终端时,都会被读取。

环境变量加载顺序

系统环境变量 --> 用户环境变量
Linux加载环境变量的顺序如下:

  1. /etc/environment
  2. /etc/profile
  3. /etc/bash.bashrc
  4. ~/.profile
  5. ~/.bashrc
### macOS 设置和管理环境变量教程 #### 1. 环境变量的概念 环境变量是一组动态命名值,用于影响进程运行的行为方式。这些变量通常存储在操作系统中,并可以通过编程语言访问或修改。在 macOS 上,环境变量可以分为 **系统级** 和 **用户级**。 - **系统级环境变量** 是由 `/etc/profile` 文件定义的,适用于所有用户。 - **用户级环境变量** 则通过用户的 shell 配置文件(如 `.bash_profile`, `.zshrc` 或其他特定于 shell 的配置文件)进行设置[^2]。 --- #### 2. 查看当前环境变量 要查看当前系统的环境变量,可以使用以下命令: ```bash printenv ``` 或者更具体地查询某个变量的内容: ```bash echo $PATH ``` 上述命令会打印 `PATH` 变量的具体内容,这是最常见的环境变量之一,它指定了可执行文件所在的目录列表[^5]。 --- #### 3. 修改临时环境变量 如果只需要暂时更改环境变量,可以直接在终端中赋值。这种改变仅限于当前终端窗口有效: ```bash export MY_VAR="my_value" ``` 验证是否成功设置: ```bash echo $MY_VAR ``` 这种方式不会保存到任何配置文件中,在关闭终端后失效。 --- #### 4. 永久环境变量 为了使环境变量永久生效,需将其写入对应的配置文件。以下是不同 Shell 对应的主要配置文件: | Shell | 用户级配置文件 | |-------|----------------| | Bash | `~/.bash_profile` 或 `~/.bashrc` | | ZSH | `~/.zshrc` | | SH | `~/.profile` | ##### 步骤说明: 1. 打开对应配置文件编辑器(推荐使用 nano 或 vim)。例如对于 ZSH 用户: ```bash nano ~/.zshrc ``` 2. 添加新的环境变量声明语句。例如添加 Python 路径: ```bash export PATH="/usr/local/bin:$PATH" ``` 3. 如果需要自定义路径或其他变量,也可以这样操作。比如 MySQL 安装后的 bin 目录加入 PATH: ```bash export PATH="/usr/local/mysql/bin:$PATH" ``` 4. 保存并退出编辑器后重新加载配置文件使其立即生效: ```bash source ~/.zshrc ``` 注意:如果是 Anaconda,则还需要额外追加一些路径至 `PATH` 中以支持其功能完全发挥。 --- #### 5. 特殊情况处理 当遇到多版本共存的情况时(如 Python 不同版本),可能需要用到虚拟环境工具来隔离依赖关系。Anaconda 提供了一种便捷的方式来进行项目间切换而不互相干扰[^4]。 另外需要注意的是,macOS 默认从 Catalina 开始已将默认 Shell 更改为 ZSH,因此大多数情况下应该优先考虑调整 `~/.zshrc` 文件而不是传统的 `.bash_profile`[^1]。 --- ### 总结 通过对以上方法的学习,能够熟练掌握如何在 macOS 平台上针对个人需求定制合适的环境变量设定方案。无论是简单的单次测试还是长期维护复杂的开发环境都能游刃有余。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值