shell中的數組

數組概念
結合生產需求將具有某些共同特性的數據組織爲一個集合便於遍歷、查詢管理,數組實旨爲變量的集合,shell中的數組相當於Python的列表,字典。

普通數組

1.索引號爲數字,默認起始索引號爲0
2.相當於Python中的列表
3.不用聲明,直接使用

關聯數組

1.索引格式可以自定義,關聯數組數據實旨爲key、Value這樣的鍵值構成的集合
2.相當於python中的字典。
3.必須先聲明

稀疏數組:

索引號的不連續便成了稀疏數組

數組的聲明:
普通數組:declare -a ARRAY_NAME
shell中的數組
關聯數組:declare -A ARRAY_NAME
shell中的數組
查看系統中定義的數據組 declare -a

數組賦值

一次只賦值一個元素
shell中的數組
一次賦值所有元素
shell中的數組
只賦值指定元素
shell中的數組
交互式數組
shell中的數組
數據元素引用

    引用數組元素:
    ${ARRAY_NAME[INDEX]} 
    引用數組所有元素
    ${ARRAY_NAME[*]} 
    ${ARRAY_NAME[@]} 
    數據的長度
    ${#ARRAY_NAME[*]} 
    ${#ARRAY_NAME[@]} 
    刪除數組中的元素:導致稀疏格式
    unset ARRAY[INDEX] 
    刪除整個數組 
    unset ARRAY 

例:
shell中的數組
數組數據處理
語法:${ARRAY[@]:offset:number} n爲起終位置,m爲截取長度
記憶思路:
偏移量:從左到右元素字符串起始偏移量編號爲0;從右到從元素字符串起始偏移量編號爲-1
offset:元素字符串偏移量編號 對應Python字符串切片中的起始位置

offset爲正數時代表從左向右截取,爲負數時代表從右向左截取。

number:要截取元素字符串的長度 對應Python字符串切片中的結束位置。

number爲正數時代表截取長度,爲負數則代表結束位置,當number爲代表結束位置時截取內容不包括第m位

注意:使用負數截取時,負數前必須用空格與:冒號隔開。

實例1:offset爲正數時,從左向右截取:${ARRAY[@]:n:m},n爲起終位置,m爲截取長度
從左向右,截取起始位置爲n,取m個字符。
shell中的數組
如果不指定截取長度m時,則是截取第n位到元素字符串的最後
shell中的數組
實例2:
offset爲負數時,從右向左截取,爲負數時:冒號後必須加空格${ARRAY[@]: -n: -m} 或${ARRAY[*]: -n:m}

${ARRAY[@]: -n:m} :從右到左,元素字符串偏移量由右到左編號爲-1到-n,截取起始位置爲-n,取m個字符。
${ARRAY[@]: -n: -m} :從右到左,元素字符串偏移量由右到左編號爲-1到-n,截取起始位置爲-n,結束位置爲-m個字符。

shell中的數組

一定要銘記數組一旦被定義,只能向數組中一個一個的追加元素,或修改元素值,不能批量添加元素。批量賦值批量的是數組初始化。

ARRAY[${#ARRAY[]}]=value 元素個數加1來賦值

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