在linux系统中,环境变量是存储系统运行参数、程序路径等信息的全局或局部配置项,查看环境变量是日常运维、开发过程中非常常见的操作,不同的查看需求对应不同的命令。
查看单个环境变量
如果需要查看某一个具体的环境变量,最常用的是echo命令,环境变量在linux中以$变量名的形式引用,使用echo输出该引用即可查看对应的值。
比如查看当前用户的家目录环境变量HOME,执行以下命令:
# 查看HOME环境变量的值 echo $HOME
如果要查看系统的PATH环境变量,也就是可执行程序的搜索路径,执行:
# 查看PATH环境变量,不同路径以冒号分隔 echo $PATH
查看所有环境变量
如果需要查看当前shell会话中所有的环境变量,可以使用env命令或者printenv命令,这两个命令的功能基本一致,都会列出当前所有已定义的环境变量及其对应的值。
直接执行env命令的示例如下:
# 列出所有环境变量 env
执行printenv命令的效果类似:
# 列出所有环境变量 printenv
如果只想查看环境变量名,不需要对应的值,可以结合cut命令处理输出结果:
# 只提取环境变量名,忽略等号和后面的值 env | cut -d= -f1
查看局部变量与环境变量差异
需要注意的是,env和printenv只会显示环境变量,而set命令会显示当前shell中的所有变量,包括环境变量和局部变量,以及shell的函数定义。如果只是想查看环境变量,优先使用env或printenv即可。
执行set命令会输出大量内容,通常可以结合管道和grep命令过滤需要的内容,比如查看包含PATH的变量:
# 过滤包含PATH的变量 set | grep PATH
临时设置与查看环境变量
除了查看已有的环境变量,我们还可以在当前shell会话中临时设置环境变量,设置后可以直接用echo查看。临时设置环境变量使用export命令:
# 临时设置TEST_ENV环境变量 export TEST_ENV=test_value # 查看刚设置的环境变量 echo $TEST_ENV
这种方式设置的环境变量只在当前shell会话生效,关闭终端后就会失效,如果需要永久生效,需要将export命令写入~/.bashrc或者/etc/profile等配置文件中。
常见使用场景总结
- 查看单个已知环境变量:优先使用
echo $变量名 - 查看所有环境变量:使用
env或printenv - 查看所有变量包括局部变量:使用
set - 过滤特定环境变量:结合
grep命令使用
掌握这些命令后,就可以快速应对linux系统中环境变量查看的相关需求,提升操作效率。