最常用、最可靠的查看环境变量方式是 env 和 printenv 命令:env 按字母顺序列出全部生效环境变量;printenv 可查全部或指定变量,如 printenv path;echo 适合日常查看单个变量,如 echo $path。

用 env 命令列出全部变量
执行:env
它会按字母顺序逐行输出所有已生效的环境变量,格式是 变量名=值,比如:
- HOME=/home/username
- PATH=/usr/local/bin:/usr/bin:/bin
- USER=username
- LANG=en_US.UTF-8
这个命令只显示“真正继承给子进程”的环境变量,不包含 shell 内部变量,适合排查配置是否生效。
用 printenv 查看全部或指定变量
执行:printenv(效果和 env 基本一致)
想查某一个变量?直接加变量名,比如:
- printenv PATH —— 只显示 PATH 的值
- printenv HOME —— 只显示家目录路径
比 echo 更明确表达意图,尤其在脚本里更易读。
用 echo 查看单个变量值
这是日常最顺手的方式:
- echo $PATH
- echo $HOME
- echo $JAVA_HOME
注意:$ 和变量名之间不能有空格,写成 echo $ PATH 就会出错,输出空或报错。
补充:区分环境变量和 shell 变量
如果想看包括 shell 内部变量(比如 HISTSIZE、PS1),可以用:set
但它输出量大,且混杂了函数定义;一般排查环境问题时,env 或 printenv 就够用了。











