在 Debian(以及所有类 Unix 系统)里,ENV(环境变量) 和 PATH 的关系可以一句话概括:
PATH 本身就是众多环境变量(ENV)中的一个,它告诉 shell 去哪些目录里找可执行程序。
下面分层说明。
环境变量是 进程启动时从父进程继承的“键值对”,例如:
USER=root
HOME=/root
SHELL=/bin/bash
PATH=/usr/local/bin:/usr/bin:/bin
etc/environment、/etc/profile~/.bashrc、~/.profileenv 或 printenvPATH 是一个 用冒号分隔的目录列表:
echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
当你输入命令:
ls
shell 会:
PATH 顺序查找 ls/bin/ls 并执行| 项目 | 说明 |
|---|---|
| ENV | 所有环境变量的集合 |
| PATH | ENV 中的一个变量 |
| 关系 | PATH ⊂ ENV |
示例:
env | grep PATH
常见加载顺序(bash):
/etc/environment(系统)/etc/profile~/.profile~/.bashrc非登录 shell 可能只加载 ~/.bashrc
export PATH=$PATH:/opt/myapp/bin
echo 'export PATH=$PATH:/opt/myapp/bin' >> ~/.bashrc
source ~/.bashrc
sudo nano /etc/environment
PATH 是命令 → ✅ 是变量如果你是想问:
可以告诉我具体场景。