开发者

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

目录
  • 一、如何查看环境变量
    • 1、env
    • 2、使用 printenv
    • 3、使用 echo
  • 二、env 和 set 有什么区别?
    • 三、如何设置环境变量
      • 1、临时设置(仅当前终端有效)
      • 2、 永久设置(每次终端启动都生效)
    • 四、总结

      一、如何查看环境变量

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

      1、env

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

      env
      

      运行结果如下:

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

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

      env | grep PATH
      

      运行结果如下:

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

      2、使用 printenv

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

      printenv
      

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

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

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

      printenv PATH
      

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

      3、使用 echo

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

      echo $PATH
      

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

      二、env 和 set 有什么区别?

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

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

      举例说明:

      # 定义一个普通变量
      MYVAR="test"
      
      env | grep MYVAR   # 查不到
      set | grep MYVAR   # 可以看到
      
      

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

      三、如何设置环境变量

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

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

      export MYVAR="test"
      

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

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

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

      unset MYVAR
      

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

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

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

      # 编辑配置文件
      vim ~/.bashrc
      
      # 添加一行
      export MYVAR="test"
      
      # 保存并让其立刻生效
      source ~/.bashrc
      
      

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

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

      unset MYVAR
      

      还需执行:

      source ~/.bashrcVDesMjtk
      

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

      四、总结

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

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

      0

      上一篇:

      下一篇:

      精彩评论

      暂无评论...
      验证码 换一张
      取 消

      最新运维

      运维排行榜