一、使用#号获取数组长度
#!/bin/bash array=("apple" "banana" "carrot" "date") echo "数组长度为 ${#array[@]}"
使用#号可以很方便地获取数组的长度,只需要在数组名称前加上#号即可。其中@表示获取所有的元素,也可以使用*。
上述代码中,定义了一个包含4个元素的数组,使用${#array[@]}语句输出数组的长度。
二、使用expr命令获取数组长度
#!/bin/bash array=("apple" "banana" "carrot" "date") echo "数组长度为 $(expr ${#array[@]})"
使用expr命令同样可以获取数组长度,只需要将数组长度作为参数传递给expr命令即可。
上述代码中,定义了一个包含4个元素的数组,使用$(expr ${#array[@]})语句输出数组的长度。
三、使用wc命令获取数组长度
#!/bin/bash array=("apple" "banana" "carrot" "date") echo "数组长度为 $(echo ${array[@]} | wc -w)"
使用wc命令同样可以获取数组长度,只需要将数组元素作为字符串传递给echo命令,然后使用wc命令计算单词数即可(每个元素之间用空格分隔)。
上述代码中,定义了一个包含4个元素的数组,使用$(echo ${array[@]} | wc -w)语句输出数组的长度。
四、使用自定义函数获取数组长度
#!/bin/bash function array_length { local arr=("$@") echo ${#arr[@]} } array=("apple" "banana" "carrot" "date") len=$(array_length "${array[@]}") echo "数组长度为 $len"
可以创建一个自定义函数来获取数组长度,该函数接收数组作为参数,并使用${#arr[@]}语句获取数组长度。
上述代码中,定义了一个包含4个元素的数组,并使用array_length函数获取数组的长度。
五、总结
以上就是获取Shell数组长度的四种方法,使用#号最为简单快捷,而自定义函数则更为灵活方便。