在计算中,环境一词是指具有操作系统和处理器的平台,用户可以在其中运行应用程序。 变量就像计算机内存中保存信息的小盒子。 计算机为每个变量分配并声明一定数量的内存。 每个变量都有它的内存地址。 换句话说,变量是用于存储文件、数字、字符串或任何其他数据等值的位置。 当我们需要该值时,我们可以通过该变量的名称来调用它。 在 Linux 中,术语环境变量是指一组在特定应用程序或程序环境中起作用的具有成对名称或别名的值。
Linux 系统管理员需要知道环境变量来维护应用程序和程序。 了解它们如何在不同的应用程序中使用以及如何列出和修改它们,管理员可以根据需要控制系统。
Linux 中的环境变量
大多数情况下,在 shell 脚本、编程或 shell 命令中,变量存储特定字符的值。 变量在编程中发挥着重要作用,因为它们允许程序员编写灵活的程序。
环境变量是一组影响应用程序或程序进程的动态值。 您可以在 Linux 系统上创建、修改和删除环境变量。 在这篇文章中,我们将看到如何列出并开始使用 Linux 中的环境变量。
一、Linux环境变量基础
在我们进入教程和如何部分之前,这里有基本的语法规则和变量编写规则。 您可以通过这些部分来更好地了解 Linux 中的环境变量。
这是一组标准格式的环境变量。
KEY=value KEY="NewVALUE" KEY=valueA:valueB
i) 在 Linux 中编写环境变量的规则
在这里,您可以看到在 Linux 中编写环境变量时需要了解的规则列表。
- “=”符号前后不应有空格。
- 空格应该用引号括起来。
- 每个变量可以取多个值。
- 必须使用冒号 (:) 字符来分隔每个值。
- 默认情况下,环境变量的名称区分大小写。
- 编写环境变量时始终使用大写变量。
ii) Linux 中环境变量的语法
在这里,我们现在可以看到 Linux 中环境变量的语法列表。 下面列出了语法定义的内容。 下面列出了一些 Linux 上常用的环境变量。
- Path = 路径是一个常见的环境变量,其中有一个冒号 (:)。 它可以定位应用程序和程序。
- LAN 或 LANG = 语法 LAN/LANG 用于提及语言。
- MAIL = MAIL 术语用于表示将存储邮件的目录位置。
- USER = 用户在 Linux 系统上被称为用户名或主机名。
- LOGNAME = 日志名称命令(语法)也用于查看系统上的当前用户。
- Home = 在环境变量中,home 指的是 Linux 机器上的 Home 目录。
- UID = UID 是用户 ID。
- TERM = 在这里,术语被写成终端外壳的简短和符号形式。
- ENV = 最后,env 指的是显示所有环境变量的变量。
2.列出环境变量
到目前为止,我们已经了解了环境变量是什么以及我们在哪里使用它们的概念。 在这里,我们将看到 Linux 上最常用和最常见的环境变量列表。 这些变量主要用于基于命令行的应用程序,例如终端、shell 和脚本。
i) 打印环境: 环境变量
Printenv 是原始语法打印环境的缩写形式。 该工具基本上会打印您正在使用的系统的所有连接详细信息、用户名、用户类型、目录地址和其他详细信息。 printenv 变量可同时使用参数和不使用参数。 如果语法中没有参数,它会打印环境中的所有可用变量。
$ printenv HOME
如果我们需要一次执行多个 printenv 命令,我们可以在 shell 中安排这些命令。 在这里,以下命令将同时运行 LANG(语言)和 PWD(当前工作目录路径) 在系统环境的终端外壳上。
$ printenv LANG PWD
正如我已经说过的,我们可以执行带有或不带参数的 printenv 命令。 在这里,我们将看到当我们不将参数(参数)放在命令上时会发生什么。
$ printenv
可以看到上面的命令已经打印了系统中所有可用环境变量的列表。 我添加了此命令的输出,以便更好地了解 printenv 在没有参数的情况下打印什么类型的变量。
ii) 设置:Linux 中的环境变量
在 Linux 中,变量还有几个变种,比如 shell, bashpwd, MAIL 等。如果我们需要打印所有可用的变量和环境变量,我们可以简单地在 shell 上执行 set 命令。
$ set
显然,如果您想查看显示的所有变量的详细列表,您可能希望将输出传递给 less 命令。
$ set | less
同理,我们可以使用 echo 命令在 Linux 系统上打印特定类型的变量。
$ echo $BASH_VERSION
3.壳牌 变量 与环境变量
默认情况下,Linux 使用预设变量来运行应用程序和工具。 如果需要,我们可以根据自己的需要设置自定义环境变量。 许多新手用户对 shell 和环境变量的概念感到困惑。 在这里,我们还将尝试在这一步中消除这个疑问。
如果我们在终端中运行下面提到的命令来显示给定变量的输出,那将是一个 shell 变量。 在这里,我们为一个参数分配了一个字符串值,这构成了一个完美的 shell 变量。
$ MY_VAR='ubuntupit'
现在,为了验证 shell 变量,我们可以执行 echo 命令或 grep 命令对变量数据进行排序和过滤。
$ set | grep MY_VAR: $ echo $MY_VAR
最后,我们现在可以执行 variable 命令来检查之前的变量是环境变量还是 shell 变量。 我们可以在 shell 上使用基本的 printenv 命令。
$ printenv MY_VAR
我们也可以尝试在新的 shell 中打印以下命令以防万一。 如果我们得到一个空输出,那将确保该变量不是环境变量; 这是一个shell变量。
$ bash -c 'echo $MY_VAR'
现在,如果我们愿意,我们可以通过简单地将 shell 变量导出为环境变量来创建或将 shell 变量转换为环境变量。
$ export MY_VAR
我们现在可以再次运行 printenv 命令; 这一次,我们将得到一个之前分配的字符串值。 而且,这一次,在新的 shell 中运行不会让我们回到空白屏幕。
$ bash -c 'echo $MY_VAR'
4. 以永久方式运行变量参数
到目前为止,我们已经了解了如何在 Linux 中声明环境变量。 如果我们只想设置一次变量并在每次启动系统时加载它们怎么办。
要在 Linux 中以永久方式运行环境变量,这样您就不需要每次都定义它们,您需要编辑 bash 文件并进行您想要加载的所需更改。 Linux 中的所有环境变量都将存储在 /etc/environment 和 etc/profile 目录中。
在这里,我们将看到这些目录的功能,以便在 Linux 中处理环境变量以及我们如何修改这些值。
i) 目录:/etc/environment
Linux 系统将环境变量的日志存放在 /etc/environment 目录中。 我们可以修改这个目录,并在具有 root 访问权限的脚本中进行更改。 这是我们如何在该目录的脚本中编写变量的示例格式。
$ FOO=bar $ VAR_TEST="Test Var"
ii) 目录:/etc/profile
我们大多数人都熟悉 Linux 上的 /etc/profile 目录,这个文件夹存储用户凭据和日志数据。 该目录还记录了 bash 定义环境变量时的数据和数据。 之前,我们已经看到了如何在 Linux 中使用 export 命令来制作环境变量。 我们还可以使用此目录中的导出命令在脚本中进行更改。
$ export JAVA_HOME="/path/to/java/home" $ export PATH=$PATH:$JAVA_HOME/bin
iii) 路径:~/.bashrc
在 Linux 和其他类 Unix 操作系统中, bash 文件控制系统启动时显示和运行的内容以及特定应用程序的显示方式。 我们还知道 bashrc 文件还包含 shell 配置并初始化 shell 操作。
我们可以在 bashrc 文件中进行更改,并在 Linux 中设置一些环境变量来运行 bash 根据我们的需要。 下面提到的命令将允许我们在 bashrc 文件中设置环境变量。
$ export PATH="$HOME/bin:$PATH"
完成编辑后 bash 配置脚本,保存并重新加载 Linux 系统上的 bashrc 文件,以查看环境变量对您的 Linux 系统的影响。
$ source ~/.bashrc
5.删除Linux中的环境变量
至此,我们已经看到了Linux中环境变量的设置过程。 在这里,我们将看到如何从您的系统中删除它们。 删除环境变量很容易。 我们可以使用 unset 命令来删除变量。 只需确保您位于正确的目录中并使用需要删除的变量的正确名称即可。
$ unset variable_name
结束词
在 Linux 中,您可以通过使用和自定义环境变量来控制系统的运行方式和应用程序的行为。 在整篇文章中,我们看到了 Linux 中环境变量的概念,以及我们如何在不同的目录中导出、更改和修改它们。 我们还看到了 shell 和环境变量之间的主要区别。
如果您觉得这篇文章有用且内容丰富,请与您的朋友和 Linux 社区分享。 我们还鼓励您在评论部分写下您对这篇文章的看法。