Shell 数组中的 [@] 和 [*]

网友投稿 249 2022-11-05


Shell 数组中的 [@] 和 [*]

​​@​​​ 和 ​​*​​ 为 shell 中对数组使用时的常用特殊字符,用法示例如下:

#!/bin/bash#数组变量arr1arr1=(my name is shanhy)#如下写法表示的是数组的所有元素#${arr1[@]} 或 ${arr1[*]}i=0for v in ${arr1[@]} do echo "item$i>>>$v" let i++done#如下写法表示的是数组的元素个数#${#arr1[@]} 或 ${#arr1[*]}echo "数组长度>>>${#arr1[@]}"#如下写法表示第一个元素的长度,即第一个元素的字符个数#${#arr1} 或 ${!arr1[0]}echo "数组第一个元素的长度>>>${#arr1}"echo "数组第二个元素的长度>>>${#arr1[1]}"#如下写法表示将数组的序号组装成一个数组,等同于arr1=(0 1 2 3)#${!arr1[@]} 或 ${!arr1[*]}echo "数组的序号数组>>>${!arr1[@]}"

运行后输出结果如下:

item0>>>myitem1>>>nameitem2>>>isitem3>>>shanhy数组长度>>>4数组第一个元素的长度>>>2数组的序号数组>>>0 1 2 3[root@localhost soft]# ./test.sh item0>>>myitem1>>>nameitem2>>>isitem3>>>shanhy数组长度>>>4数组第一个元素的长度>>>2数组第二个元素的长度>>>4数组的序号数组>>>0 1 2 3

引用《ABSG》 CHAPTER 27有描述: As seen in the previous example, either ${array_name[@]} or ${array_name[]} refers to all the elements of the array. Similarly, to get a count of the number of elements in an array, use either ${#array_name[@]} or ${#array_name[]}. ${#array_name} is the length (number of characters) of ${array_name[0]}, the first element of the array.

(END)


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:解决Springboot整合shiro时静态资源被拦截的问题
下一篇:c++的lambda使用注意事项,可能导致的崩溃问题分析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~