在 Linux 中,环境变量(Environment Variables) 是一类在 shell 中预定义的变量,用来影响进程的行为。例如 PATH 决定了系统如何搜索可执行文件,HOME 表示用户主目录。
✅ 常见环境变量
| 变量名 |
含义 |
PATH |
可执行程序的搜索路径,用冒号分隔多个目录 |
HOME |
当前用户的主目录 |
USER |
当前用户名 |
SHELL |
当前 shell 的类型(如 /bin/bash) |
LANG |
系统语言和字符集 |
PWD |
当前目录 |
EDITOR |
默认文本编辑器(如 vim 或 nano) |
JAVA_HOME |
Java 安装路径(通常由用户设置) |
✅ 查看环境变量
显示所有环境变量:
或:
查看某个变量值:
✅ 设置环境变量
临时设置(只在当前 shell 有效):
永久设置(对当前用户生效):
编辑用户主目录下的配置文件之一:
- Bash 用户:
~/.bashrc
- Zsh 用户:
~/.zshrc
- 所有用户统一设置:
/etc/profile(需 sudo)
添加一行:
然后执行 source ~/.bashrc 使其生效。
✅ 删除变量
✅ 添加目录到 PATH(推荐方式)
1
| export PATH=$PATH:/opt/myapp/bin
|
可写入 ~/.bashrc 实现永久生效。
✅ 特别说明
- 环境变量是进程级的:子进程可以继承父进程的环境变量,但不会反过来。
- 区分大小写:Linux 中环境变量是区分大小写的。
- 全局变量设置:可在
/etc/environment 或 /etc/profile.d/*.sh 中设置对所有用户有效。
| 文件名 |
应用时机 |
作用对象 |
常用设置 |
/etc/profile |
登录时加载(login shell) |
所有用户 |
全局 PATH、LANG 等 |
~/.bash_profile |
用户登录时加载 |
当前用户 |
用户级 PATH、JAVA_HOME 等 |
/etc/bashrc |
所有 shell 启动时加载(非登录) |
所有用户 |
命令提示符、别名、函数等 |
~/.bashrc |
用户打开 shell 时(非登录) |
当前用户 |
用户自定义别名、函数等 |