介绍
在这个实验中,你将学习在 Linux 中处理字符串的基本技术。你将了解如何使用 test -z 命令有效地检查字符串是否为空,这是 shell 脚本中条件逻辑的一项关键技能。此外,你将练习使用功能多样的 echo 命令显示字符串内容,并探索如何使用 expr length 命令测量字符串的长度。这些实践练习将让你在 Linux 环境中获得操作和分析字符串的实际经验。
使用 test -z 测试字符串是否为空
在这一步中,你将学习如何在 Linux 中使用带有 -z 选项的 test 命令来检查字符串是否为空。这是在 shell 脚本中处理字符串时的一项基本操作。
test 命令用于计算条件表达式。-z 选项专门用于检查字符串的长度是否为零。如果字符串为空,则测试结果为真;否则为假。
让我们在终端中尝试一下。首先,我们将定义一个空字符串变量。在 shell 脚本中,你可以通过输入变量名,后跟等号 (=),然后是值来定义变量。等号周围不应有空格。
输入以下命令来定义一个名为 my_string 的空字符串变量:
my_string=""
现在,让我们使用 test -z 命令来检查 my_string 是否为空。test 命令本身不会产生输出;其结果用于控制脚本的流程(你将在后面学习)。不过,我们可以通过使用 echo $? 检查上一个命令的退出状态来查看其结果。退出状态为 0 表示成功(真),非零状态表示失败(假)。
输入以下命令来测试 my_string 是否为空:
test -z "$my_string"
运行 test 命令后,检查其退出状态:
echo $?
由于 my_string 为空,test -z 命令的计算结果应为真,echo $? 命令应输出 0。
现在,让我们定义一个非空字符串:
another_string="Hello"
并测试它是否为空:
test -z "$another_string"
检查退出状态:
echo $?
这次,由于 another_string 不为空,test -z 命令的计算结果应为假,echo $? 命令应输出 1。
理解如何测试空字符串对于编写能够正确处理不同输入的健壮 shell 脚本至关重要。
使用 echo 显示字符串内容
在这一步中,你将学习如何使用 echo 命令显示字符串变量的内容。正如你在第一个实验中看到的,echo 用于将文本打印到终端。当与变量一起使用时,它会打印变量中存储的值。
回顾上一步,我们定义了一个名为 another_string 的变量,并为其赋值为 "Hello"。
another_string="Hello"
要显示这个变量的内容,你需要使用 echo 命令,后跟美元符号 ($) 和变量名。美元符号很重要,它告诉 shell 你想要使用变量的 值,而不是将变量名本身作为字面字符串。
输入以下命令来显示 another_string 的内容:
echo "$another_string"
你应该会看到以下输出:
Hello
你还可以将变量包含在一个更长的字符串中。这是一种将变量值嵌入消息中的常用方法。
输入以下命令:
echo "The value of the string is: $another_string"
你应该会看到以下输出:
The value of the string is: Hello
通常建议在变量名或整个字符串周围使用双引号 (")。这有助于避免变量值中出现空格或特殊字符时产生的问题。
让我们尝试显示我们之前定义的空字符串 my_string:
echo "$my_string"
由于 my_string 为空,此命令将仅输出一个空行。
echo 命令是 shell 脚本中显示信息和调试的基本工具。你将经常使用它来查看变量的值和命令的输出。
使用 expr length 测量字符串长度
在这一步中,你将学习如何使用带有 length 运算符的 expr 命令来测量字符串的长度。expr 命令用于计算表达式,包括执行数学运算和字符串操作。
expr 中的 length 运算符以一个字符串作为参数,并返回该字符串中的字符数量。
让我们使用我们在前面步骤中定义的 another_string 变量,它的值为 "Hello"。
another_string="Hello"
要查找 another_string 的长度,你需要使用 expr 命令,后跟 length 运算符和变量的值。记得在变量名前使用美元符号 ($) 来获取其值。
输入以下命令:
expr length "$another_string"
你应该会看到以下输出,这是 "Hello" 中的字符数量:
5
现在,让我们尝试查找空字符串 my_string 的长度:
my_string=""
输入命令:
expr length "$my_string"
输出应该是:
0
这证实了空字符串的长度确实为零。
expr length 命令是在 shell 脚本中获取字符串字符数的一种简单方法。这在各种场景中都很有用,例如验证输入长度或遍历字符。
总结
在这个实验中,你学习了如何在 Linux 中使用 test -z 命令检查字符串是否为空。如果字符串为空,该命令的计算结果为真(退出状态码为 0);否则为假(退出状态码为 1)。你练习了定义空字符串变量和非空字符串变量,并通过 echo $? 检查退出状态来验证 test -z 的输出。你还学习了如何使用 echo 命令显示字符串变量的内容,以及如何使用 expr length 命令测量字符串的长度。这些基本操作对于在 shell 脚本中处理字符串至关重要。



