Linux中查看环境变量有五种方法:一、env命令显示已导出变量;二、printenv查看全部或指定变量;三、set显示所有shell变量及函数;四、declare -p显示变量属性;五、/proc/PID/environ查看进程原始环境。

如果您在 Linux 系统中需要确认当前 shell 会话中生效的环境变量,或排查程序因变量缺失导致的运行异常,则需准确获取已定义的全部变量及其值。以下是查看环境变量的多种方法:
一、使用 env 命令显示所有环境变量
env 命令仅输出当前 shell 的环境变量(即 export 过的变量),不包含 shell 内置变量或未导出的局部变量,适合快速检查影响子进程的变量集合。
1、打开终端窗口。
2、输入命令:env 并按回车执行。
3、若需分页浏览,可追加管道符:env | less。
二、使用 printenv 命令查看指定或全部变量
printenv 是专用于查询环境变量的命令,支持直接输出单个变量值,也可不带参数列出全部环境变量,行为与 env 高度一致但更语义明确。
1、查看所有环境变量:输入 printenv 并回车。
2、查看特定变量(例如 PATH):输入 printenv PATH 并回车。
3、查看多个变量:输入 printenv HOME USER SHELL 并回车。
三、使用 set 命令显示所有 shell 变量(含环境变量与局部变量)
set 命令输出当前 shell 中定义的所有变量,包括已 export 的环境变量、未 export 的局部变量、shell 函数及内部选项设置,结果最全面但信息量较大。
1、在终端中执行:set。
2、为便于定位,可过滤出含等号的变量行:set | grep "="。
3、如需排除函数定义,可结合正则筛选:set | grep "^[a-zA-Z_][a-zA-Z0-9_]*="。
四、使用 declare -p 查看所有已声明变量及其属性
declare -p 是 bash 内置命令,能显示变量的赋值语句、数据类型(如整数、只读、数组)及是否已导出,适用于调试变量状态和权限问题。
1、运行命令:declare -p。
2、仅显示已导出的环境变量:declare -px。
3、查看某变量详细信息(例如 PS1):declare -p PS1。
五、通过 /proc 文件系统查看进程级环境变量
/proc/[pid]/environ 包含指定进程启动时继承的原始环境变量,以 null 字符分隔,可用于验证某程序实际接收到的环境变量,不受当前 shell 修改影响。
1、获取目标进程 PID,例如 bash 主进程:ps -o pid= -C bash | head -n1。
2、读取其 environ 文件:cat /proc/PID/environ | tr '\0' '\n'。
3、查看当前 shell 的环境:cat /proc/$$/environ | tr '\0' '\n'。










