標籤:shell數組
變數:儲存單個元素的記憶體空間:
數組(多個連續的記憶體空間):儲存多個元素的連續的記憶體空間:
數組名:
索引:編號從0開始,屬於數值索引;
注意:索引也可支援使用自訂的格式,而不僅僅是數值格式:
bash的數組支援稀疏格式
引用數組中元素:${ARRAY_NAME[INDEX]}
聲明數組:
declare -a ARRAY_NAME
declare -A ARRAY_NAME:關聯陣列:kv
數組元素的賦值:
(1)一次只賦值一個元素:
ARRAY_NAME[INDEX]=VALUE
#weekdays[0]=”Sunday”
#weekdays[4]=”Thursday”
(2)一次賦值全部元素:
ARRAY_NAME=(“VAL1”,”VAL2”,”VAL3”,...)
(3)只賦值特定元素:
ARRAY_NAME=([0]=”VAL1” [3]=”VAL2” ...)
(4)read -a ARRAY
引用數組中的某個元素:
${ARRAY_NAME[INDEX]}
注意:省略[INDEX]表示引用下標為0的元素
顯示數組中所有元素:
${ARRAY_NAME[*]},或者${ARRAY_NAME[@]}
統計數組的長度(數組中元素的個數):
${#ARRAY_NAME[*]},${#ARRAY_NAME[@]}
引用數組中的元素:
依次取出數組中所有元素:${ARRAY[@]}或者${ARRAY[*]}
數組切片:
取出數組中指定長度的元素:${ARRAY[@]:offset:number}:也叫做數組切片
offset:要跳過的元素個數
number:要取出的元素個數
例 :#echo ${weekdays[@]:1:2}
取出位移量之後的所有元素:${ARRAY[@]:offset}
#echo ${weekdays[@]:1}
向數組中追加元素:
ARRAY[${#ARRAY[*]}]
刪除數組中的某元素:
unset ARRAY[INDEX]
關聯陣列:
declare -A ARRAY_NAME
ARRAY_NAME=([index_name]=’val1’ [index_name2=’val2’ ...])
本文出自 “激情燃燒的歲月” 部落格,請務必保留此出處http://liuzhengwei521.blog.51cto.com/4855442/1927663
shell數組的用法