Linux查看、设置与取消环境变量详解

 更新时间:2025年07月09日 10:12:41   作者:zhuhp_  
Linux是一个多用户的操作系统,多用户意味着每个用户登录系统后,都有自己专用的运行环境,而这个环境是由一组变量所定义,这组变量被称为环境变量,本文给大家详细介绍了Linux查看、设置与取消环境变量操作指南,需要的朋友可以参考下

一、如何查看环境变量

Linux 中有多种方式可以查看环境变量,最常用的是以下几种:

1、env

env 命令可以列出当前终端会话中的所有环境变量,格式是一行一个 变量名=值。

env

运行结果如下:

如果只想查看某一个变量,可以结合 grep:

env | grep PATH

运行结果如下:

2、使用 printenv

printenv 与 env 类似,也能列出环境变量。它还可以直接指定要查看的单个环境变量:

printenv

运行结果如下,和运行env貌似没有什么区别~

如果只想查看一个变量,采用printenv+变量名

printenv PATH

3、使用 echo

如果已经知道变量名,也可以用 echo 直接查看其值:

echo $PATH

二、env 和 set 有什么区别?

虽然 env 和 set 都可以列出变量,但它们的关注点不同:

命令主要作用内容范围
env查看当前环境变量只显示 export 出去的环境变量
set查看所有变量(包括环境变量、局部变量、函数)更全面,内容更多
  • env 只列出那些可以传递给子进程的环境变量。
  • set 除了环境变量,还列出普通 shell 变量、定义的函数等,输出内容更多。

举例说明:

# 定义一个普通变量
MYVAR="test"

env | grep MYVAR   # 查不到
set | grep MYVAR   # 可以看到

只有 export 过的变量才属于环境变量,会出现在 env 列表里~

三、如何设置环境变量

1、临时设置(仅当前终端有效)

可以使用 export 命令临时设置一个环境变量:

export MYVAR="test"

输入之后,我们使用env命令,就可以看到自己定义的MYVAR环境变量了。这种设置只在当前 shell 会话有效,关闭终端后失效。

临时设置环境变量之所以只能在当前终端会话中有效,是因为它们存储在内存中的当前进程环境。当你使用 export 命令设置环境变量时,实际上是在当前 shell 进程的内存中为该变量分配空间。这些变量只对当前 shell 及其启动的子进程可见,一旦该 shell 进程退出,内存中的这些变量就会被清除。因此,它们不会在新开启的终端会话或新启动的进程中自动存在。

如果想要取消临时设置,则:

unset MYVAR

取消后,在当前终端中该变量就不存在了。

2、 永久设置(每次终端启动都生效)

如果想让环境变量永久生效,需要将 export 语句写到终端配置文件中,比如Bash 用户:~/.bashrc 或 ~/.bash_profile。

# 编辑配置文件
vim ~/.bashrc

# 添加一行
export MYVAR="test"

# 保存并让其立刻生效
source ~/.bashrc

永久设置环境变量是将变量的定义写入到特定的配置文件(如 ~/.bashrc),这些配置文件在每次启动一个新的终端会话时会自动被读取和执行。因此,当你在这些文件中加入 export 语句时,这些变量会在每次打开新的终端窗口时自动加载并生效。这种设置方式不依赖于当前的 shell 会话,而是与系统配置文件的加载机制相关。所以每次你登录或打开新的终端时,这些变量都会被初始化并继承下来。

如果想要取消设置,则不仅需要运行上述的unset

unset MYVAR

还需执行:

source ~/.bashrc

刷新配置后,变量就永久取消了。

四、总结

  • 临时设置环境变量:变量仅在当前终端的 shell 进程中有效,当终端关闭时丢失。是因为它们存储在内存中的当前进程。
  • 永久设置环境变量:变量通过写入配置文件,使得在每次新开启终端时,系统会重新读取并加载这些环境变量,从而使变量保持持久性。

到此这篇关于Linux查看、设置与取消环境变量详解的文章就介绍到这了,更多相关Linux环境变量操作内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解Linux文本编辑器Vim

    详解Linux文本编辑器Vim

    这篇文章主要介绍了Linux文本编辑器Vim,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • apache正常访问mht类型文件的配置方法

    apache正常访问mht类型文件的配置方法

    这篇文章主要介绍了apache正常访问mht类型文件的配置方法,需要的朋友可以参考下
    2014-04-04
  • 基于windowx的Hyper-v安装CentOS系统

    基于windowx的Hyper-v安装CentOS系统

    这篇文章主要介绍了基于windowx的Hyper-v安装CentOS系统 ,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • CentOS6.7系统中配置LNMP环境

    CentOS6.7系统中配置LNMP环境

    LNMP 代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。LNMP 这种架构目前也是非常流行,今天我们就来看下如何在CentOS6.7系统中配置LNMP环境
    2016-10-10
  • 浅谈Linux中的chattr与lsattr命令

    浅谈Linux中的chattr与lsattr命令

    下面小编就为大家带来一篇浅谈Linux中的chattr与lsattr命令。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Apache HTTP Server部署全攻略(最新整理)

    Apache HTTP Server部署全攻略(最新整理)

    本文详细介绍了在CentOS/RHEL 7系统上部署httpd的完整流程,包括系统环境准备、防火墙配置、安装步骤、文件结构解析、基础与虚拟主机配置、安全加固措施、SSL/TLS加密设置、性能优化方案以及故障排查方法,感兴趣的朋友跟随小编一起看看吧
    2025-07-07
  • Linux下安装Oracle(CentOS-Oracle 12c)的方法

    Linux下安装Oracle(CentOS-Oracle 12c)的方法

    这篇文章主要介绍了Linux下安装Oracle(CentOS-Oracle 12c)的方法,本文实例讲解,介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起看看吧
    2016-11-11
  • 使用Apache Camel表达REST服务的方法

    使用Apache Camel表达REST服务的方法

    Apache Camel可以作为一个独立的或嵌入的库在任何地方运行,它可以帮助整合,这篇文章主要介绍了如何使用Apache Camel表达REST服务,需要的朋友可以参考下
    2022-06-06
  • Linux中root用户切换至其他用户的多种方式

    Linux中root用户切换至其他用户的多种方式

    在Linux系统中,root用户是系统的超级管理员,root用户具有最高的权限,可以访问系统中的所有文件和执行所有操作,那么root用户如何切换至其他用户呢,本文将给大家介绍Linux中root用户切换至其他用户的多种方式,需要的朋友可以参考下
    2025-05-05
  • Linux telnet命令的使用

    Linux telnet命令的使用

    这篇文章主要介绍了Linux telnet命令的使用,帮助大家更好的理解和学习Linux,感兴趣的朋友可以了解下
    2020-08-08

最新评论