shell 數組添加方法

 

array_name[@]表示數組大小

向Shell數組添加元素有多種方法,每種方法在使用時都有一些需要注意的地方,沒有見過這方面的總結資料,所以自己總結一下。
直接下標添加

array_name[index]=value

 最簡單的添加方式,直接用下標index爲數組元素賦值,在使用時需要注意的是就是需要確保下標index處原本是沒有值的,否則會替換index處原本的值。
數組長度添加

    array_name[${#array_name[@]}]=value
    #或array_name[${#array_name[*]}]=value

以數組長度爲下標添加,每次只能增加一個元素。但此方法有一個前提,就是數組中的元素下標必須是連續的,否則會存在替換已有元素的風險。例如:

    arr=([1]="a" [2]="b")
    echo ${arr[@]}
    arr[${#arr[@]}]="c"
    echo ${arr[@]}

實際上並有添加元素,而是將下標爲2的元素值“b”替換爲了“c”。
重新創建數組

array_name=("${array_name[@]}" value1 ... valueN)


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章