环境变量

在 Linux 中,环境变量(Environment Variables) 是一类在 shell 中预定义的变量,用来影响进程的行为。例如 PATH 决定了系统如何搜索可执行文件,HOME 表示用户主目录。


✅ 常见环境变量

变量名 含义
PATH 可执行程序的搜索路径,用冒号分隔多个目录
HOME 当前用户的主目录
USER 当前用户名
SHELL 当前 shell 的类型(如 /bin/bash
LANG 系统语言和字符集
PWD 当前目录
EDITOR 默认文本编辑器(如 vimnano
JAVA_HOME Java 安装路径(通常由用户设置)

✅ 查看环境变量

显示所有环境变量:

1
printenv

或:

1
env

查看某个变量值:

1
echo $PATH

✅ 设置环境变量

临时设置(只在当前 shell 有效):

1
export MY_VAR=123

永久设置(对当前用户生效):

编辑用户主目录下的配置文件之一:

  • Bash 用户:~/.bashrc
  • Zsh 用户:~/.zshrc
  • 所有用户统一设置:/etc/profile(需 sudo)

添加一行:

1
export MY_VAR=123

然后执行 source ~/.bashrc 使其生效。


✅ 删除变量

1
unset MY_VAR

✅ 添加目录到 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 时(非登录) 当前用户 用户自定义别名、函数等