您好,登錄后才能下訂單哦!
數組概念
結合生產需求將具有某些共同特性的數據組織為一個集合便于遍歷、查詢管理,數組實旨為變量的集合,shell中的數組相當于Python的列表,字典。
普通數組
1.索引號為數字,默認起始索引號為0
2.相當于Python中的列表
3.不用聲明,直接使用
關聯數組
1.索引格式可以自定義,關聯數組數據實旨為key、Value這樣的鍵值構成的集合
2.相當于python中的字典。
3.必須先聲明
稀疏數組:
索引號的不連續便成了稀疏數組
數組的聲明:
普通數組:declare -a ARRAY_NAME
關聯數組:declare -A ARRAY_NAME
查看系統中定義的數據組 declare -a
數組賦值
一次只賦值一個元素
一次賦值所有元素
只賦值指定元素
交互式數組
數據元素引用
引用數組元素:
${ARRAY_NAME[INDEX]}
引用數組所有元素
${ARRAY_NAME[*]}
${ARRAY_NAME[@]}
數據的長度
${#ARRAY_NAME[*]}
${#ARRAY_NAME[@]}
刪除數組中的元素:導致稀疏格式
unset ARRAY[INDEX]
刪除整個數組
unset ARRAY
例:
數組數據處理
語法:${ARRAY[@]:offset:number} n為起終位置,m為截取長度
記憶思路:
偏移量:從左到右元素字符串起始偏移量編號為0;從右到從元素字符串起始偏移量編號為-1
offset:元素字符串偏移量編號 對應Python字符串切片中的起始位置
offset為正數時代表從左向右截取,為負數時代表從右向左截取。
number:要截取元素字符串的長度 對應Python字符串切片中的結束位置。
number為正數時代表截取長度,為負數則代表結束位置,當number為代表結束位置時截取內容不包括第m位
注意:使用負數截取時,負數前必須用空格與:冒號隔開。
實例1:offset為正數時,從左向右截取:${ARRAY[@]:n:m},n為起終位置,m為截取長度
從左向右,截取起始位置為n,取m個字符。
如果不指定截取長度m時,則是截取第n位到元素字符串的最后
實例2:
offset為負數時,從右向左截取,為負數時:冒號后必須加空格${ARRAY[@]: -n: -m} 或${ARRAY[*]: -n:m}
${ARRAY[@]: -n:m} :從右到左,元素字符串偏移量由右到左編號為-1到-n,截取起始位置為-n,取m個字符。
${ARRAY[@]: -n: -m} :從右到左,元素字符串偏移量由右到左編號為-1到-n,截取起始位置為-n,結束位置為-m個字符。
一定要銘記數組一旦被定義,只能向數組中一個一個的追加元素,或修改元素值,不能批量添加元素。批量賦值批量的是數組初始化。
ARRAY[${#ARRAY[]}]=value 元素個數加1來賦值
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。