所谓数组长度,就是数组元素的个数。 利用 @ 或 * ,可以将数组扩展成列表,然后使用 # 来获取数组元素的个数,格式如下: ${#array_name[@]} ${#array_name[*]} 其中 array_name 表示数组名。两种
利用
@
或*
,可以将数组扩展成列表,然后使用#
来获取数组元素的个数,格式如下:
${#array_name[@]}
${#array_name[*]}
如果某个元素是字符串,还可以通过指定下标的方式获得该元素的长度,如下所示:
${#arr[2]}
获取 arr 数组的第 2 个元素(假设它是字符串)的长度。回忆字符串长度的获取
回想一下 Shell 是如何获取字符串长度的呢?其实和获取数组长度如出一辙,它的格式如下:${#string_name}
string_name 是字符串名。实例演示
下面我们通过实际代码来演示一下如何获取数组长度。#!/bin/bash nums=(29 100 13) echo ${#nums[*]} #向数组中添加元素 nums[10]="http://c.biancheng.net/shell/" echo ${#nums[@]} echo ${#nums[10]} #删除数组元素 unset nums[1] echo ${#nums[*]}运行结果:
3
4
29
3