您的位置 首页 java

设置及查看Linux的环境变量详细教程

设置及查看Linux的环境变量详细教程

我们将了解如何在 Linux 系统中列出和设置环境变量。

目录

  • 先决条件
  • Linux中的环境变量是什么
  • 列出当前环境变量
  • 设置环境变量
  • 设置环境变量持久化
  • 取消设置环境变量
  • 结论

先决条件

  • 具有终端访问权限的 Linux 计算机。
  • 熟悉 Linux 命令行界面。

Linux中的环境变量是什么

Linux 操作系统支持两种类型的变量——环境变量和 shell 变量。这些变量会影响您的应用程序和程序的工作方式。

环境变量 是影响整个系统的系统范围的变量。它们被所有 shell 和衍生的子进程使用,并且在命令行和 GUI 上都可用。Linux 环境变量是为程序和进程提供必要信息的动态系统值。这些变量控制默认 Web 浏览器、默认文件编辑器或默认文本编辑器、 可执行文件 、键盘布局设置、目录路径和系统区域设置等内容。基本上,这些是具有分配给它们的值的名称。例如,我们使用 JAVA _HOME 变量来设置安装 JDK JRE 的目录位置。

Shell 变量 是特定 shell 实例的本机变量,仅影响 shell 函数。每个 Linux 操作系统 shell,例如 BASH 和 Korn,都有自己的内部 shell 变量。这有助于跟踪当前会话中的数据——主要用于交互式 shell 会话或将变量保持在本地的脚本。Bash 特定变量通常以 BASH_ 为前缀,例如 BASH_VERSION。

环境变量和 shell 变量具有相同的格式:

 VAR_NAME=value  

在使用 shell 和环境变量时,您必须牢记以下变量要求:

  • 按照惯例,变量名总是大写的,例如 PATH。
  • 区分大小写 – 可以使用 小写字母
  • = 符号前后不应有空格。
  • 始终用 冒号 (:) 分隔多个值,例如 value1:value2:value3。

下表列出了一些最常见的环境变量。

变量的名称

描述

PATH

Linux 在执行命令时搜索的以冒号分隔的目录列表。

USER

当前登录用户的用户名。

HOME

当前用户的主目录。

UID

当前用户的唯一标识符。

EDITOR

用于编辑文件的默认编辑器。

SHELL

当前用户的 shell 的名称。

TERM

当前终端仿真。

PWD

当前工作目录。

TEMP

临时目录的路径。

其中一些变量的值在每台 Linux 计算机上可能不同。

列出当前环境变量

Linux 有几个变量,了解它们的值非常重要,因为它们会影响系统的行为。有几个命令可用于列出 Linux 中的环境变量。

要打印所有环境变量的列表,请键入:

 printenv  

您还可以使用 env 命令列出所有 Linux 变量:

 env  

变量列表可能很长,因此难以阅读。您可以将 more 或 less 命令与 printenv 命令一起使用,一次一屏地列出环境变量:

 printenv | more  

上述所有命令一次列出多个变量。要查找有关指定变量的信息,请使用以下命令:

 printenv HOME  

此命令打印用户的主目录。

您也可以使用 echo 命令打印环境变量值。以下示例打印 PATH 环境变量的值:

 echo $PATH  

PATH 变量有多个值,它们用冒号分隔。

设置环境变量

Linux 提供了两种设置环境变量的方法。可以先设置一个shell变量,然后将shell变量导出为环境变量,第二种方式是直接导出环境变量。

要为当前 shell 会话创建新的环境变量并设置它们的值,请使用以下命令:

 MYVAR=foo  

此时,仅为 shell 创建新的环境变量。您可以使用 echo 命令确认是否设置了变量。此变量不是环境变量,如果您使用 printenv 命令,其输出将为空:

 printenv MYVAR  

现在我们可以使用 export 命令将此 shell 变量转换为单个环境变量:

 export MYVAR  

现在 MYVAR 是一个环境变量,这会影响当前 shell 以及从当前 shell 启动的所有进程。

您不必总是遵循这个漫长的过程来设置环境变量。您可以在单个命令中直接导出环境变量:

 export MYENV=bar  

您必须注意,通过这些命令设置的变量仅适用于当前会话。一旦关闭会话,这些变量就会丢失。要永久设置环境变量,您必须使用文本编辑器编辑 /etc/profile.d 目录、~/.bashrc、/etc/environment 或 /etc/profile 文件。

设置环境变量持久化

持久意味着当您关闭 shell 会话或重新启动时,您不需要重置环境变量的值。如果您希望环境变量可用于所有 shell 会话,甚至跨用户,那么您必须在配置文件中添加环境变量。

使用 /etc/environment 文件为命令行和图形界面添加整个系统(即所有用户、所有进程)都可用的环境变量。该文件只接受 VAR _NAME=”value” 格式的变量,不要使用导出。例如,使用您喜欢的编辑器打开 /etc/environment 文件,并使用以下格式添加环境变量:

 VARIABLE_NAME=value  

设置从当前用户注销并再次登录以进行更改后。

使用 /etc/profile 配置文件设置在启动登录 shell 时为所有用户自动加载的环境变量。使用 export 命令在用户配置文件中声明环境变量,如下所示:

 export PATH=$PATH:/place/with/the/file  

在~/.bashrc 文件或 ~/.profile 文件中设置一个用户特定的环境变量,使用如下:

 export JAVA_HOME=/opt/jdk/11
export PATH="$JAVA_HOME/bin:$PATH"  

运行 source ~/.bashrc bash shell 命令以加载当前 shell 会话中的环境变量。

取消设置环境变量

使用 unset 命令取消设置或删除变量。

 unset NAME  

unset 命令删除使用终端命令导出的变量。但是,您存储在配置文件中的变量只会从当前 shell 会话中删除。当您创建一个新的终端会话时,它们会自动重新设置。

您可以通过从配置文件中删除变量来从 Linux 计算机中永久删除变量。

结论

我们学习了如何在 Linux 中列出和创建环境变量。我们还看到了如何通过编辑 bash 配置文件使变量在重启后保持不变。

环境变量是设置常用值的好方法,只需使用变量而不是一次又一次地手动输入值。本教程中列出的常用环境变量可用于场景 Linux 发行版,例如 Ubuntu、 Debian Redhat

我新建了个技术微信群:microservicedev,欢迎同行扫码进入

喜欢的朋友记得给个关注~

文章来源:智云一二三科技

文章标题:设置及查看Linux的环境变量详细教程

文章地址:https://www.zhihuclub.com/193577.shtml

关于作者: 智云科技

热门文章

评论已关闭

5条评论

  1. In general, an HDL concentration below 40 mg dL is considered a major risk factor for CHD, although women s risk of CHD increases marginally with HDL cholesterol

  2. Dr Bayrak was always there he gave me his cell phone number so i could reach him anytime and when i did need him on a couple of occasions over the weekend and in the evening, he was always there as promised, reassuring and kind as he was throughout

  3. Their mechanism of action is not known but may inhibit cyclooxygenase activity and prostaglandin synthesis Experiment with hard candies, like lemon drops or sour apple candies, and see if that helps

  4. Doctors will pooh- pooh you, but I know of many high FSH women who are now moms, second- time moms, etc Organic psychiatry and epilepsy

网站地图