运行 env 命令可查看当前 shell 会话中所有已导出的环境变量,格式为 key=value;printenv 和 export -p 功能类似但输出格式不同;echo 和 printenv 适合查特定变量;env 不显示未 export 的变量,而 set 会显示更多非环境变量内容。

直接运行 env 命令就能看到当前 Shell 会话中所有已生效的环境变量,一行一个,格式为 KEY=VALUE。
查看全部环境变量
这是最常用、最可靠的方式:
-
env—— 显示当前会话中所有已导出(export)的环境变量 -
printenv—— 功能与env基本一致,也只显示环境变量(不包含普通 shell 变量) -
export -p—— 以可重用的 shell 语法显示所有环境变量(每行形如declare -x PATH="...")
查看某个特定变量
知道变量名时,用 echo 或 printenv 更精准高效:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
-
echo $PATH—— 查看 PATH 值(注意$符号不能省) -
printenv HOME—— 查看 HOME 变量,不带$,更安全(避免变量未定义时报空) -
env | grep ^USER—— 快速筛选以 USER 开头的变量(适合不确定全名时)
注意区分:env 和 set 的不同用途
env 只展示真正“已生效”的环境变量——也就是能传递给子进程的那些;而 set 会列出更多内容,包括未 export 的本地变量、函数等,容易干扰判断。例如:
-
MY_VAR=abc(没 export)→env | grep MY_VAR找不到 -
export MY_VAR=abc→env | grep MY_VAR就能显示出来
确认变量是否真正在子进程中可用
环境变量的关键特征是“能被子进程继承”。可以这样验证:
export TEST_VAR=hello-
bash -c 'echo $TEST_VAR'—— 如果输出hello,说明它确实是已生效的环境变量 - 若输出为空,则该变量尚未 export 或已被 unset










