1. 程式人生 > 其它 >shell指令碼之陣列

shell指令碼之陣列

技術標籤:shell指令碼linuxshell

shell陣列簡介

bash 支援一維陣列(不支援多維陣列),並且沒有限定陣列的大小。 類似於 C 語言,陣列元素的下標由 0 開始編號。獲取陣列中的元素要利用下標,下標可以 是整數或算術表示式,其值應大於或等於 0。

shell陣列定義方法

  1. 用括號()來定義,陣列元素用"空格"符號分割開,見示例2
  2. 對陣列值單個定義,下標可不連續,見示例,對不連續下標陣列中不存在的下標列印無輸出

陣列的讀取方法

  1. 讀取單個元素${陣列名[下標]}
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]}