shell 数组 ${array[@]} ${array[*]}的使用及区别解析
作者:小小鱼er
shell中用括号来表示数组,数组元素间使用空格隔开,这篇文章主要介绍了shell 数组 ${array[@]} ${array[*]}的使用及区别,需要的朋友可以参考下
数组定义
shell中用括号来表示数组,数组元素间使用空格隔开。
例如: a=(1 2 3 4) 表示a数组且有元素为1,2,3,4
也可单个元素逐步来赋值
b[1]="a" b[2]="b" b[3]="c" echo ${b[@]} # a b c
关联数组
定义关联数组,数组元素带键,键是唯一的。
declare -A array_name
declare -A site=(["google"]="www.google.com" ["runoob"]="www.runoob.com" ["taobao"]="www.taobao.com") echo ${site["google"]}
调用元素
通常使用下标来选择元素
${array_name[index]}
a=(1 2 3 4) echo ${a[1]} #2
获取所有元素${array[@]} ,${array[*]}
可以使用${array[@]} ,${array[*]}来获取所有元素
区别如下:
aa=(1 2 3 4 5) echo "*****************" echo "实验1-------------" for i in "${aa[*]}"; do echo $i done echo i=$i echo "实验2-------------" for i in ${aa[*]}; do echo $i done echo i=$i echo "实验3-------------" for i in "${aa[@]}"; do echo $i done echo i=$i echo "实验4-------------" for i in ${aa[@]}; do echo $i done echo i=$i
结果:
${array[*]}
加引号,表示数组元素的字符串形式。不加引号,表示数组。
${array[@]}
加引号,不加引号,均表示数组。
到此这篇关于shell 数组 ${array[@]} ${array[*]}的使用及区别的文章就介绍到这了,更多相关shell 数组 ${array[@]} ${array[*]}内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!