陣列修改

改變指數

初始化或更新陣列中的特定元素

array[10]="elevenths element"    # because it's starting with 0

Version >= 3.1

附加

修改陣列,如果沒有指定下標,則將元素新增到結尾。

array+=('fourth element' 'fifth element')

用新引數列表替換整個陣列。

array=("${array[@]}" "fourth element" "fifth element")

在開頭新增一個元素:

array=("new element" "${array[@]}")

插入

在給定索引處插入元素:

arr=(a b c d)
# insert an element at index 2
i=2
arr=("${arr[@]:0:$i}" 'new' "${arr[@]:$i}")
echo "${arr[2]}" #output: new

刪除

使用 unset 內建刪除陣列索引:

arr=(a b c)
echo "${arr[@]}"   # outputs: a b c
echo "${!arr[@]}"  # outputs: 0 1 2
unset -v 'arr[1]'
echo "${arr[@]}"   # outputs: a c
echo "${!arr[@]}"  # outputs: 0 2

合併

array3=("${array1[@]}" "${array2[@]}")

這也適用於稀疏陣列。

重新索引陣列

如果已從陣列中刪除元素,或者你不確定陣列中是否存在間隙,則此選項非常有用。要重建沒有間隙的索引:

array=("${array[@]}")