declare -a array_name
array_name[xx]=value
其中xx表示下标,为大于等于0的整数数字array_name=([xx]=value1 [yy]=value2 ...)
其中xx表示下标,为大于等于0的整数数字array_name=(value1 value2 value3 ...)
或declare -a array_name=(value1 value2 value3 ...)
array=( "${array[@]}" "new element" )
或array[${#array[*]}]="new element"
array2=( "${array1[@]}" )
或array2="${array1[@]}"
${array_name[xx]}
获取下标为xx的单个元素${array_name[@]}
或${array_name[*]}
获取所有元素。在有引号括起的情况下,"${array_name[@]}"
表示单独的数组元素,"${array_name[*]}"
表示数组元素整体,没有引号括起的情况下都表示单独的数组元素,类似$*
和$@
的区别 ${array_name[@]:index:length}
获取连续的部分数组元素,其中:length
可省略。
arrayZ=( one two three four five ) # 提取所有元素 echo ${arrayZ[@]:0} # one two three four five # 提取下标从1开始(包含)的所有元素 echo ${arrayZ[@]:1} # two three four five # 提取下标从1开始(包含)的2个元素 echo ${arrayZ[@]:1:2} # two three
${#array_name[*]}
或${#array_name[@]}
${#array_name[xx]}
${array_name[xx]:index:length}
, 其中:length可省略
unset array_name[xx]
删除下标为xx的数组元素,等同于array_name[xx]=
unset array_name
删除整个数组通常情况下,形如${name...}
表示法的字符串操作都可以应用在数组上,使用${name[@]...}
或${name[*]...}
的方式。