在 Bash 中附加到数组

与许多编程语言不同, bash 没有任何预建函数可让您将数据附加到数组中 bash.

但这并不意味着它不能完成。

在本教程中,我将向您展示两种追加到数组的方法 bash:

  • 使用速记运算符(允许您附加多个元素)
  • 通过定义最后一个索引

使用 += 追加到数组 bash

速记运算符 (+=) 是追加到数组的最简单方法 bash它可以按以下方式使用:

Array+=("Data to append")

为了 example,我想使用一个名为 arrVar 其中包含以下内容:

arrVar=("Ubuntu" "Debian" "openSUSE" "Fedora" "Void" "Gentoo")

我想再附加一个值 Arch 到现有数组,所以我的脚本看起来像这样:

#!/bin/bash

#Main Array to work with
arrVar=("Ubuntu" "Debian" "openSUSE" "Fedora" "Void" "Gentoo")

#Value that needs to be appended
arrVar+=("Arch")

要打印这些值,我将使用一个简单的 for 循环 bash 这将打印的价值 arrVar 在每次迭代中一个接一个:

#!/bin/bash

#Main Array to work with
arrVar=("Ubuntu" "Debian" "openSUSE" "Fedora" "Void" "Gentoo")

#Value that needs to be appended
arrVar+=("Arch")


#Printing the values of an array
for value in "${arrVar[@]}"
do
     echo $value
done

要运行该脚本,请使用 chmod 命令使其可执行。

最后,执行脚本:

附加到多个数组中 bash

如果要附加多个元素,可以添加更多数据,如下所示:

my_array+=("element1" "element2" "element3")

为了 example,在这里,我又添加了 3 个元素(发行版名称):

arrVar+=("Pop_OS" "Linux_Mint" "Zorin")

执行时,它给了我以下结果:

一种附加元素的便捷方式。 不是吗?

追加到数组 bash 通过定义最后一个索引

这是另一种追加到数组的简单方法 bash,您将在其中将数据添加到最后一个索引。

但是你应该如何找到最后一个索引呢? 我知道如果你有一个小数组,它可以手动完成,但是处理 100 或 1000 条数据条目的时间呢?

在这种情况下,您可以使用 #@以下列方式:

array_name[${#array_name[@]}]="Data to append"

为了 example,如果我想添加 Slackware 到名为的数组 arrVar,那么,我的 bash 参数看起来像这样:

arrVar[${#arrVar[@]}]="Slackware"

这就是我的脚本的样子:

#!/bin/bash

#Main Array to work with
arrVar=("Ubuntu" "Debian" "openSUSE" "Fedora" "Void" "Gentoo")

#Value that needs to be appended
arrVar[${#arrVar[@]}]="Slackware"

#Printing the values of an array
for value in "${arrVar[@]}"
do
     echo $value
done

现在,如果我执行上面的脚本, Slackware 应该是输出中的最后一个条目:

追加到数组 bash 通过定义最后一个索引

很酷。 不是吗?

学习 bash 免费编写脚本

如果您刚刚开始使用 bash,我们有专门的系列教程 bash 这将对您正确掌握基础知识有很大帮助:

我希望你不会再发现追加到数组中 bash 一项具有挑战性的任务。