介绍
在本实验中,你将学习如何在 Shell 编程中使用数组。数组是一种允许你在单个名称下存储多个值的数据结构,这使得组织和处理数据变得更加容易。你将学习如何初始化数组、向数组添加元素、通过索引访问元素以及确定数组中元素的数量。这些知识是进行更高级的 Shell 脚本编写和数据处理任务的基础。
在本实验中,你将学习如何在 Shell 编程中使用数组。数组是一种允许你在单个名称下存储多个值的数据结构,这使得组织和处理数据变得更加容易。你将学习如何初始化数组、向数组添加元素、通过索引访问元素以及确定数组中元素的数量。这些知识是进行更高级的 Shell 脚本编写和数据处理任务的基础。
首先,我们创建一个新的 Shell 脚本文件,用于编写数组操作代码。
在 WebIDE 中打开终端。
切换到项目目录:
cd ~/project
使用 touch 命令创建一个名为 arrays.sh 的新文件:
touch arrays.sh
在 WebIDE 中打开 arrays.sh 文件。
现在我们有了脚本文件,让我们从初始化三个空数组开始。
将以下代码添加到你的 arrays.sh 文件中:
#!/bin/bash
## 初始化空数组
NUMBERS=()
STRINGS=()
NAMES=()
让我们分析一下这段代码的作用:
#!/bin/bash 被称为 Shebang。它告诉系统该脚本应由 Bash Shell 执行。NUMBERS、STRINGS 和 NAMES。() 语法用于初始化一个空数组。现在我们有了空数组,让我们向其中添加一些元素。
在 arrays.sh 文件中数组初始化的下方添加以下代码:
## 向 NUMBERS 数组添加元素
NUMBERS+=(1)
NUMBERS+=(2)
NUMBERS+=(3)
## 向 STRINGS 数组添加元素
STRINGS+=("hello")
STRINGS+=("world")
## 向 NAMES 数组添加元素
NAMES+=("John")
NAMES+=("Eric")
NAMES+=("Jessica")
这段代码的作用如下:
+= 运算符向数组追加元素。NUMBERS,我们添加了整数 1、2 和 3。STRINGS,我们添加了单词「hello」和「world」。NAMES,我们添加了三个名字:「John」、「Eric」和「Jessica」。数组的一种常见操作是获取它包含多少个元素。让我们对 NAMES 数组执行此操作。
将以下代码添加到你的 arrays.sh 文件中:
## 获取 NAMES 数组中的元素数量
NumberOfNames=${#NAMES[@]}
这一行执行了以下操作:
${#NAMES[@]} 返回 NAMES 数组中的元素个数。NumberOfNames 的变量中。@ 符号代表数组中的所有元素。NAMES 前面的 # 符号告诉 Shell 计算元素的数量。现在,让我们访问 NAMES 数组中的一个特定元素。我们将获取第二个名字。
将此代码添加到你的 arrays.sh 文件中:
## 访问 NAMES 数组中的第二个名字
second_name=${NAMES[1]}
这段代码的作用如下:
${NAMES[1]} 访问 NAMES 数组的第二个元素。[1] 代表第二个元素。second_name 的变量中。最后,让我们添加一些代码来打印出我们的数组和变量,以查看操作结果。
将以下代码添加到 arrays.sh 文件的末尾:
## 打印数组和变量
echo "NUMBERS array: ${NUMBERS[@]}"
echo "STRINGS array: ${STRINGS[@]}"
echo "The number of names listed in the NAMES array: $NumberOfNames"
echo "The second name on the NAMES list is: $second_name"
这段代码的作用如下:
echo 将字符串打印到控制台。${NUMBERS[@]} 和 ${STRINGS[@]} 会打印这些数组的所有元素。NumberOfNames 和 second_name 变量。现在我们已经写好了脚本,是时候运行它并查看结果了。
在终端中,确保你处于正确的目录:
cd ~/project
为脚本添加执行权限:
chmod +x arrays.sh
运行脚本:
./arrays.sh
你应该会看到类似以下的输出:
NUMBERS array: 1 2 3
STRINGS array: hello world
The number of names listed in the NAMES array: 3
The second name on the NAMES list is: Eric
此输出表明我们的数组操作成功了:
NUMBERS 数组包含 1、2 和 3。STRINGS 数组包含「hello」和「world」。NAMES 数组中有 3 个名字。在本实验中,你学习了在 Shell 脚本中使用数组的基础知识。你练习了初始化数组、向数组添加元素、访问特定元素以及确定数组中的元素数量。这些技能对于更高级的 Shell 脚本任务至关重要,尤其是在处理数据列表或需要对多个项目执行操作时。数组提供了一种强大的方式来组织和处理 Shell 脚本中的数据,使你的代码更高效且更易于管理。