0Pricing
Linux Command Line & Bash Scripting Mastery · 课时

在 Bash 中使用数组

存储和处理值列表。学习如何声明数组、访问和遍历元素、获取数组长度,以及使用关联数组作为键值映射。

在 Bash 中使用数组 是 CoddyKit 上的免费 Linux Command Line & Bash Scripting Mastery 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Linux Command Line & Bash Scripting Mastery 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Linux Command Line & Bash Scripting Mastery 课程共包含 4 节课。

为什么使用数组

普通变量只能保存一个值,而数组可以保存多个值——非常适合在脚本中循环处理文件名列表、名称列表或参数列表。

声明数组

将值列在圆括号中,并用空格分隔,即可创建索引数组。

fruits=(apple banana cherry)

访问元素

使用 ${array[i]} 通过索引访问元素,索引从 0 开始。大括号是必需的。

echo "${fruits[0]}"   # apple
echo "${fruits[2]}"   # cherry

一次访问所有元素

使用 ${array[@]} 展开所有元素。这正是循环遍历数组时使用的形式。

echo "${fruits[@]}"   # apple banana cherry

数组长度

使用 ${#array[@]} 获取元素数量。

echo "${#fruits[@]}"   # 3

使用 for 循环迭代

展开数组中的所有元素即可遍历数组。为 "${arr[@]}" 加引号可以保留值中的空格。

for f in "${fruits[@]}"; do
  echo "Fruit: $f"
done

添加元素

使用 += 向数组追加元素。您也可以直接为指定索引赋值。

fruits+=(mango)
fruits[10]="kiwi"

删除元素

unset 会根据索引删除元素。请注意,这会留下空缺,而不会重新编排索引。

unset 'fruits[1]'   # removes banana

截取数组

使用 ${array[@]:start:count} 提取一个子范围。

echo "${fruits[@]:0:2}"   # first two

关联数组

Bash 4 及更高版本支持键值映射。使用 declare -A 声明,然后通过字符串键进行索引。

declare -A ages
ages[alice]=30
ages[bob]=25
echo "${ages[alice]}"   # 30

迭代键和值

使用 ${!array[@]} 遍历键,并通过每个键获取对应的值。

for name in "${!ages[@]}"; do
  echo "$name is ${ages[$name]}"
done

快速检查

测试您对本节内容的理解。

回顾

您学会了 Bash数组:使用 () 声明,使用 ${arr[i]} 索引,使用 ${arr[@]} 展开所有元素,使用 ${#arr[@]} 计数,进行循环遍历,使用 += 追加元素,截取数组,以及使用 declare -A 创建关联键值映射。

常见问题解答

「在 Bash 中使用数组」课时是免费的吗?

是的 — 「在 Bash 中使用数组」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Linux Command Line & Bash Scripting Mastery 课程的其余内容,请升级到 CoddyKit PRO。 Linux Command Line & Bash Scripting Mastery 课程共包含 4 节课。

「在 Bash 中使用数组」这节课中我会学到什么?

存储和处理值列表。学习如何声明数组、访问和遍历元素、获取数组长度,以及使用关联数组作为键值映射。 你通过在浏览器中直接运行的动手代码来练习 Linux Command Line & Bash Scripting Mastery,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Linux Command Line & Bash Scripting Mastery 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Linux Command Line & Bash Scripting Mastery 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「在 Bash 中使用数组」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Linux Command Line & Bash Scripting Mastery 课中编写并运行代码吗?

能。每节 Linux Command Line & Bash Scripting Mastery 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 第一个 Bash 脚本与 Shebang
  2. 变量与用户输入
  3. 条件语句(if、else、elif)
  4. 在 Bash 中使用数组
← 返回 Linux Command Line & Bash Scripting Mastery