怎么打开环境变量(设置及查看Linux的环境变量详细教程)

Linux 操作系统广泛用于服务器,以承载复杂的应用程序,这些应用程序具有非常具体的系统设置。当您启动一个新的 Linux shell 会话时,会读取某个系统配置并相应地设置您的计算机。这些配置和设...

Linux 操作系统广泛用于服务器,以承载复杂的应用程序,这些应用程序具有非常具体的系统设置。当您启动一个新的 Linux shell 会话时,会读取某个系统配置并相应地设置您的计算机。这些配置和设置由**变量控制。

设置及查看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设置及查看Linux的**变量详细教程

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

env设置及查看Linux的**变量详细教程

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

printenv | more

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

printenv HOME设置及查看Linux的**变量详细教程

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

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

echo $PATH设置及查看Linux的**变量详细教程

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

设置**变量

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

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

MYVAR=foo设置及查看Linux的**变量详细教程

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

printenv MYVAR

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

export MYVAR设置及查看Linux的**变量详细教程

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

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

export MYENV=bar设置及查看Linux的**变量详细教程

您必须注意,通过这些命令设置的变量仅适用于当前会话。一旦关闭会话,这些变量就会丢失。要永久设置**变量,您必须使用文本编辑器编辑 /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/11export PATH="$JAVA_HOME/bin:$PATH"

运行source ~/.bashrcbash shell 命令以加载当前 shell 会话中的**变量。

取消设置**变量

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

unset NAME设置及查看Linux的**变量详细教程

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

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

结论

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

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

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

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

  • 发表于 2022-12-09 13:00
  • 阅读 ( 103 )
  • 分类:互联网

0 条评论

请先 登录 后评论
xiaoai
xiaoai

742 篇文章

你可能感兴趣的文章

相关问题