简介
在这个实验中,你将学习在 Linux 中处理环境变量的基本技术。你将探索如何使用 echo
命令显示特定变量的值,如何使用 printenv
命令验证变量是否已设置并显示其值,以及如何使用 set
命令列出当前所有已设置的环境变量。这些技能对于理解和与 Linux shell 及系统环境进行交互至关重要。
在这个实验中,你将学习在 Linux 中处理环境变量的基本技术。你将探索如何使用 echo
命令显示特定变量的值,如何使用 printenv
命令验证变量是否已设置并显示其值,以及如何使用 set
命令列出当前所有已设置的环境变量。这些技能对于理解和与 Linux shell 及系统环境进行交互至关重要。
在这一步中,你将学习如何使用 echo
命令显示变量的值。Linux 中的变量用于存储可供 shell 和其他程序访问和使用的信息。
你会遇到的一个常见变量是 $HOME
,它存储了你主目录的路径。让我们来显示它的值。
在终端中输入以下命令并按回车键:
echo $HOME
你应该会看到主目录的路径被打印到终端上,在这个环境中通常是 /home/labex
。
/home/labex
变量名前的 $
符号至关重要。它告诉 shell 你想要查看变量的 值,而不是字面字符串 "$HOME"。
现在,让我们尝试显示一个不存在的变量。
输入以下命令并按回车键:
echo $MY_VARIABLE
你不会看到任何输出。这是因为变量 MY_VARIABLE
尚未设置,所以它的值为空。
你还可以同时显示多个变量:
echo $HOME $USER
这将先打印 $HOME
变量的值,然后打印 $USER
变量的值(即你的用户名 labex
)。
/home/labex labex
理解如何显示变量是 Linux 中的一项基本技能,因为变量在脚本编写和系统配置中被广泛使用。
点击 继续 进入下一步。
在上一步中,你使用 echo
来显示变量的值。另一个处理环境变量的有用命令是 printenv
。
printenv
专门用于打印环境变量的值。环境变量是一种特殊类型的变量,可供系统中运行的进程使用。
让我们使用 printenv
来显示 $USER
变量的值。
在终端中输入以下命令并按回车键:
printenv USER
你应该会看到你的用户名 labex
被打印到终端上。
labex
注意,使用 printenv
时,你 不需要 在变量名前使用 $
符号。printenv
期望将变量名本身作为参数。
如果你尝试使用 printenv
打印一个不存在的变量会发生什么呢?
输入以下命令并按回车键:
printenv MY_VARIABLE
与 echo
类似,你不会看到任何输出,因为变量 MY_VARIABLE
未被设置为环境变量。
虽然 echo
可以显示任何变量,但 printenv
专门用于环境变量。在很多情况下,你可以使用其中任何一个,但当你专门想处理环境变量时,通常会首选 printenv
。
点击 继续 继续下一步。
在前面的步骤中,你学习了如何使用 echo
和 printenv
显示单个变量。但如果你想查看当前 shell 环境中 所有 已设置的变量,该怎么办呢?
set
命令在不使用任何参数时,会列出所有 shell 变量,包括环境变量和特定于 shell 的变量。
在终端中输入以下命令并按回车键:
set
你会看到一长串变量及其值。这个输出包括环境变量(如 HOME
、USER
、PATH
)以及当前 shell 会话特有的变量。
...
HOME=/home/labex
HOSTNAME=...
HOSTTYPE=x86_64
...
LANG=C.UTF-8
...
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
...
SHELL=/usr/bin/zsh
...
USER=labex
...
输出内容可能非常多。你可以滚动查看环境中默认设置的不同变量。
比较 set
和 printenv
的输出(如果你在不使用参数的情况下运行 printenv
),你会注意到 set
包含更多变量。这是因为 set
会显示所有 shell 变量,而 printenv
仅显示环境变量。
随着你深入学习 Linux,理解 shell 变量和环境变量之间的区别很重要。环境变量会被子进程继承,而 shell 变量通常只在当前 shell 会话中有效。
现在你已经学习了在 Linux 中与变量交互的三种方法:echo
(用于显示单个变量)、printenv
(用于显示环境变量)和 set
(用于列出所有 shell 变量)。
点击 继续 完成此实验。
在本实验中,你学习了在 Linux 中与环境变量交互的基本方法。你首先探索了使用带有 $
前缀的 echo
命令来显示特定变量的值,并了解到未设置的变量不会产生输出。你还练习了使用 echo
同时显示多个变量。随后,你了解了 printenv
命令,这是一个专门用于验证和显示环境变量值的工具。