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 环境。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。