next up previous contents
Next: 變數的變化與取代 Up: Shell 變數 Previous: 變數鍵盤讀取與宣告   Contents

陣列

  1. 宣告
    [root@dywOffice ~]# declare -a sum 
    [root@dywOffice ~]# sum=(11 22 33)
    [root@dywOffice ~]# echo ${sum[0]} ${sum[1]} ${sum[2]}
    11 22 33
    [root@dywOffice ~]# sum[2]=44
    [root@dywOffice ~]# echo ${sum[0]} ${sum[1]} ${sum[2]}
    11 22 44
    
    [root@dywOffice ~]# sum=(11 22 33)
    
  2. 所有元素與元素個數
    [root@dywOffice ~]# echo ${#sum[@]}
    3
    [root@dywOffice ~]# echo ${sum[@]}
    11 22 33
    [root@dywOffice ~]# sum=(${sum[@]} 44)
    [root@dywOffice ~]# echo ${#sum[@]}
    4
    [root@dywOffice ~]# echo ${sum[@]}
    11 22 33 44
    [dywang@deyu ~]$ sum=(11 22 33); echo ${sum[*]}
    11 22 33
    [dywang@deyu ~]$ sum=(11 22 33); echo ${sum[@]}
    11 22 33
    
  3. 陣列元素的變化
    [dywang@deyu ~]$ arr=(1 22 333 4444); arr=(${arr[@]} 55555); echo ${arr[@]}
    1 22 333 4444 55555
    ##從第 3 個元素取到最後一個元素
    [dywang@deyu ~]$ arr=(${arr[@]:2}); echo ${arr[@]}
    333 4444 55555
    ##從最前面加入元素
    [dywang@deyu ~]$ arr=(0 ${arr[@]}); echo ${arr[@]}
    0 333 4444 55555
    ##從第 0 個元素取到倒數第 1 個元素
    [dywang@deyu ~]$ arr=(${arr[@]:0:$((${#arr[@]}-1))}); echo ${arr[@]}
    0 333 4444
    



2017-06-14