Bash 中的数组长度
出于各种目的,我们需要知道数组的长度。例如,如果你正在查找数组中的特定数据并且不知道数组的长度,则需要在开始搜索之前先找到数组的长度。
其他编程语言有一个内置函数或关键字来查找数组长度。但是在 Bash 脚本中,它有点不同。
在本文中,我们将了解如何找到数组长度并将其用于各种目的。
在 Bash 中获取数组长度
查找数组长度的一般语法是:
${#ARRAY[*]}
在下面的示例中,我们只查找数组的长度:
names=("Alen" "Walker" "Miller")
echo The length of the array is ${#names[*]}
在上面的代码中,我们计算了 names
数组的长度。运行示例代码后,你将获得以下输出。
输出:
The length of the array is 3
在 Bash 中使用 for
循环来得到数组长度
现在,是时候进行一个高级示例了。我们已经成功地理解了如何找到数组的长度。
我们现在将看到如何将这个数组长度用于各种目的。下面,我们分享了之前示例的更新版本,它将首先计算数组的长度,然后在 for
循环中使用它来显示数组中的所有元素。
这是我们示例的代码:
names=("Alen" "Walker" "Miller")
len=${#names[*]}
echo The length of the array is - $len
for (( i=0; i<$len; i++ ))
do
echo The value of element $i is: ${names[$i]}
done
如你所见,在 len=${#names[*]}
行中,我们创建了一个名为 len
的变量并将其分配给数组长度的值。这很重要,因为我们需要知道数组长度才能运行循环并提取数组数据。
之后,我们打印数组长度并运行一个 for
循环来提取每个数组元素。如果你查看程序的以下输出,你可以看到我们从 0
开始数组索引。
众所周知,数组索引总是从 0
开始。
输出:
The length of the array is 3
The value of element 0 is: Alen
The value of element 1 is: Walker
The value of element 2 is: Miller
请注意,本文中使用的所有代码都是用 Bash 编写的。它仅适用于 Linux Shell 环境。
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn