在 Debian(以及大多数 Linux 发行版)里,/etc/environment 和 ~/.bashrc 都与“环境变量 / 运行环境”有关,但作用时机、用途和适用场景不同。下面按关系和使用方式说明。
| 项目 | /etc/environment |
~/.bashrc |
|---|---|---|
| 类型 | 系统级环境配置文件 | 用户级 shell 配置文件 |
| 读取时机 | 登录早期(PAM) | 每次打开 bash 交互 shell |
| 是否依赖 shell | ❌ 不依赖具体 shell | ✅ 仅 bash |
| 语法 | 简单 KEY=value |
完整 shell 脚本 |
| 是否执行命令 | ❌ 不能执行命令 | ✅ 可以执行命令 |
| 适用对象 | 所有用户、所有程序 | 仅当前用户的 bash |
/etc/environment 是什么PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
LANG="en_US.UTF-8"
$PATH:/new 这种变量展开exportPATHLANGLC_*~/.bashrc 是什么export PATH="$HOME/bin:$PATH"
alias ll='ls -l'
export EDITOR=vim
系统级、全局、固定变量
→ /etc/environment
用户级、个性化、bash 相关
→ ~/.bashrc
/etc/environment
PATH="/usr/local/bin:/usr/bin:/bin"
~/.bashrc
export PATH="$HOME/.local/bin:$PATH"
.bashrc,某些程序读不到?.bashrc/etc/environment/etc/environment 里 $PATH 不生效?PATH="$PATH:/new"
.bash_profile / .profile.bashrc/etc/environment 两者都受影响✅ 用 /etc/environment:
✅ 用 ~/.bashrc:
如果你愿意,我可以:
直接说你的使用场景即可。