在 Debian(以及大多数 Linux 系统)中,环境变量(Environment Variables)可以分为系统级、用户级、Shell 级、临时变量等几类。下面按常见场景给你一个较完整的说明。
这些变量在 Debian 中非常常见,几乎所有用户都会用到:
| 变量名 | 含义 |
|---|---|
PATH |
可执行程序的搜索路径 |
HOME |
当前用户的主目录 |
USER |
当前用户名 |
LOGNAME |
登录用户名 |
SHELL |
当前使用的 Shell |
LANG |
系统语言设置 |
LC_ALL |
本地化设置(优先级高于 LANG) |
TERM |
终端类型 |
PWD |
当前工作目录 |
OLDPWD |
上一个工作目录 |
PS1 |
Shell 提示符格式 |
EDITOR |
默认文本编辑器 |
PAGER |
默认分页器 |
TMPDIR |
临时文件目录 |
查看单个变量:
echo $PATH
查看所有环境变量:
env
# 或
printenv
| 变量 | 说明 |
|---|---|
DEBIAN_FRONTEND |
控制 apt/dpkg 的交互方式(如 noninteractive) |
DEBCONF_NONINTERACTIVE_SEEN |
debconf 非交互模式 |
APT_LISTCHANGES_FRONTEND |
apt-listchanges 显示方式 |
例如:
export DEBIAN_FRONTEND=noninteractive
| 变量 | 说明 |
|---|---|
/etc/environment |
系统全局环境变量(不支持 Shell 语法) |
/etc/profile |
登录 Shell 全局配置 |
/etc/profile.d/*.sh |
系统级脚本环境变量 |
/etc/bash.bashrc |
系统级 bash 配置 |
| 文件 | 作用 |
|---|---|
~/.bashrc |
交互式非登录 Shell |
~/.bash_profile |
登录 Shell |
~/.profile |
登录 Shell(兼容 sh) |
~/.xsessionrc |
图形界面环境变量 |
示例:
export JAVA_HOME=/usr/lib/jvm/java-17
export PATH=$JAVA_HOME/bin:$PATH
export MY_VAR=123
只在当前 Shell 生效,关闭终端即失效。
| 变量 | 说明 |
|---|---|
JAVA_HOME |
Java 安装路径 |
PYTHONPATH |
Python 模块搜索路径 |
NODE_PATH |
Node.js 模块路径 |
GOPATH |
Go 工作目录 |
LD_LIBRARY_PATH |
动态库搜索路径(慎用) |
PKG_CONFIG_PATH |
pkg-config 搜索路径 |
env
printenv
printenv PATH
set # 包含环境变量 + Shell 变量
查看进程环境变量:
cat /proc/<pid>/environ | tr '\0' '\n'
/etc/environment/etc/profile/etc/profile.d/*.sh~/.profile~/.bashrc如果你愿意,我可以:
你可以直接说你的使用场景(桌面 / 服务器 / Docker / 开发环境)。