shell指令碼之陣列
阿新 • • 發佈:2020-12-16
shell陣列簡介
bash 支援一維陣列(不支援多維陣列),並且沒有限定陣列的大小。 類似於 C 語言,陣列元素的下標由 0 開始編號。獲取陣列中的元素要利用下標,下標可以 是整數或算術表示式,其值應大於或等於 0。
shell陣列定義方法
- 用括號()來定義,陣列元素用"空格"符號分割開,見示例2
- 對陣列值單個定義,下標可不連續,見示例,對不連續下標陣列中不存在的下標列印無輸出
陣列的讀取方法
- 讀取單個元素${陣列名[下標]}
echo ${array[n]}
4.讀取整個陣列—使用@或*
echo ${array[@]}
陣列長度
使用#獲取陣列長度對字串陣列來說
例1
array=("hello" "how are you" "fine")
array1[0]="thank"
array1[2]="you"
array1[3]="and you"
len=${#array[@]} #獲取陣列的下標有效長度,這裡為3
len1=${#array[0]}#獲取陣列單個數據長度,這裡為5
len2=${#array1[@]}#這裡為3,有效長度
例2
1 #!/bin/bash 2 3 array_str=("one" "two" "three") 4 array_int[0]=1 5 array_int[2]=2 6 array_int[3]=3 7 echo ${array_str[@]} 8 for i in {0..3}; do 9 echo ${array_int[$i]} 10 done 11 echo ${#array_str[*]} 12 echo ${#array_str[1]}