简介
在这个实验中,你将学习在 Linux 命令行中处理变量的基本技术。首先,你要掌握如何使用 echo
命令显示变量的值,这是检查环境设置和其他存储信息的一项关键技能。
接下来,你将探索如何使用带有 -z
选项的 test
命令来检查变量是否存在或为空,这在脚本编写的条件逻辑中至关重要。最后,你将了解如何使用 env
命令列出当前定义的所有环境变量,从而全面了解你的 shell 环境。
在这个实验中,你将学习在 Linux 命令行中处理变量的基本技术。首先,你要掌握如何使用 echo
命令显示变量的值,这是检查环境设置和其他存储信息的一项关键技能。
接下来,你将探索如何使用带有 -z
选项的 test
命令来检查变量是否存在或为空,这在脚本编写的条件逻辑中至关重要。最后,你将了解如何使用 env
命令列出当前定义的所有环境变量,从而全面了解你的 shell 环境。
在这一步中,你将学习如何使用 echo
命令显示变量的值。Linux 中的变量用于存储信息,这些信息可以被 shell 和其他程序访问和使用。
一种常见的变量类型是环境变量,它存储有关用户环境的信息,例如当前用户、主目录和终端类型。
要显示变量的值,你需要使用 echo
命令,后面跟着美元符号 ($
) 和变量名。美元符号告诉 shell 你想要查看变量的 值,而不是变量名本身。
让我们来显示 USER
环境变量的值,该变量存储当前登录用户的名称。
在你的终端中输入以下命令并按回车键:
echo $USER
你应该会看到如下输出:
labex
这表明 USER
变量的值是 labex
,这是你在 LabEx 环境中的当前用户名。
现在,让我们显示 HOME
环境变量的值,该变量存储你的主目录的路径。
输入以下命令并按回车键:
echo $HOME
你应该会看到如下输出:
/home/labex
这证实了你的主目录是 /home/labex
。
你还可以显示 SHELL
环境变量的值,该变量显示你当前使用的 shell 程序的路径。
输入以下命令并按回车键:
echo $SHELL
你应该会看到如下输出:
/usr/bin/zsh
这表明你当前正在使用 zsh
shell。
在 Linux 终端中,使用带美元符号的 echo
是访问和显示变量值的基本方法。
在这一步中,你将学习如何使用带有 -z
选项的 test
命令来检查变量是否为空或未设置。这在脚本编写中很有用,可以根据变量是否有值来做出决策。
test
命令用于计算条件表达式。-z
选项检查字符串的长度是否为零。如果字符串为空(或者变量未设置),则测试结果为真。
让我们来测试一个名为 MY_VARIABLE
的变量是否已设置。首先,我们要确保它未被设置。
输入以下命令并按回车键:
unset MY_VARIABLE
unset
命令用于删除变量。现在,让我们使用 test -z
来检查 MY_VARIABLE
是否为空。我们将它与 echo
结合使用,以查看测试结果。&&
运算符仅在第一个命令成功(返回真值,对于 test
来说意味着条件满足)时才执行第二个命令。
输入以下命令并按回车键:
test -z "$MY_VARIABLE" && echo "MY_VARIABLE is empty or not set"
由于我们刚刚删除了 MY_VARIABLE
,test -z "$MY_VARIABLE"
条件为真(变量为空),因此 echo
命令将执行。
你应该会看到如下输出:
MY_VARIABLE is empty or not set
现在,让我们为 MY_VARIABLE
设置一个值。
输入以下命令并按回车键:
MY_VARIABLE="Hello"
现在,让我们再次运行相同的 test -z
命令。
输入以下命令并按回车键:
test -z "$MY_VARIABLE" && echo "MY_VARIABLE is empty or not set"
这一次,MY_VARIABLE
的值为 "Hello",因此它不为空。test -z "$MY_VARIABLE"
条件为假,echo
命令 不会 执行。
这次你应该看不到 echo
命令的输出。
这展示了如何使用 test -z
来检查变量是否为空或未设置。这是 shell 脚本编写中用于条件逻辑的一个基本概念。
在这一步中,你将学习如何使用 env
命令列出当前 shell 会话中设置的所有环境变量。
环境变量对于 shell 和程序的运行方式至关重要。它们存储配置信息、可执行文件的路径以及其他设置。
env
命令在不带任何参数运行时,会打印出所有环境变量及其值的列表。
在你的终端中输入以下命令并按回车键:
env
你会看到一长串输出,类似于下面这样(具体输出会因你的系统和配置而异):
SHELL=/usr/bin/zsh
COLORTERM=truecolor
...
USER=labex
...
HOME=/home/labex
...
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
...
PWD=/home/labex/project
...
输出中的每一行都以 VARIABLE_NAME=value
的格式表示一个环境变量。
你可以看到我们在前面步骤中探讨过的一些变量,如 USER
、HOME
和 SHELL
。你还会看到许多其他变量,例如 PATH
,它告诉 shell 在哪里查找可执行命令,以及 PWD
,它显示你当前的工作目录。
env
命令是一个简单但强大的工具,用于检查 shell 的环境。它常用于调试或了解程序在其环境下的运行方式。
由于输出可能很长,你可以将 env
的输出通过管道传递给像 less
这样的分页器,以便一次查看一屏内容。
输入以下命令并按回车键:
env | less
使用箭头键上下滚动,按 q
退出 less
。
这一步向你介绍了如何列出所有环境变量。在接下来的步骤中,你将了解更多关于这些变量的使用方法以及如何与它们进行交互。
在这个实验中,你学习了在 Linux 中使用变量的基本技巧。你练习了使用带有美元符号 ($
) 的 echo
命令来显示环境变量(如 USER
、HOME
和 SHELL
)的值,了解了该命令是如何获取存储的信息的。
此外,你还探索了如何使用带有 -z
选项的 test
命令来检查变量是否存在或为空,这是脚本编写中进行条件逻辑判断的一项关键技能。最后,你学习了如何使用 env
命令列出当前定义的所有环境变量,从而全面了解 shell 的环境。