shell腳本基礎--數組

q1.數組

  我們知道,變量就是內存裏的存儲空間,每個變量只可以存儲一個數據,進行一次性的賦值操作,那麼遇到一些需要連續存儲並讀取的任務時,如果還是依靠變量進行多次存儲,既不會保證內存空間的連續性,也大大降低了CPU的效率,這時就需要數組這一類型的變量出馬了!

數組變量:

 數組簡單來說就是存放一個或多個元素的連續的內存空間,相當於多個變量的集合;

數組的索引有以下方式:

   1.數字索引。稱爲索引數組 Index ARRAY;

     0,1,2,3....

   2.名稱(字符串): 稱爲關聯數組 Related ARRAY;

     bash4.0以上的版本才支持

數組分爲兩種:稠密數組和稀疏數組

  稠密數組:索引編號必須連續,類似於連續函數依次排序,沒有斷點;

  稀疏數組:索引編號可以不連續,bash數組就屬於稀疏數組;

聲明數組的方法:

  1.之前說到的declare命令,可以聲明變量。

    -i NAME 聲明整型變量

    -x NAME 聲明環境變量

   同樣,用它也可以聲明數組變量

    -a:聲明索引數組(if supported)

    -A:聲明關聯數組(if supported)

  2.直接聲明數組

   直接爲數組賦值:

    ARRAY_NAME=("value1" "value2" ...)  稠密數組

    ARRAY_NAME=([0]="value1" [5]="value2" ...)  稀疏數組

  3.定義數組的元素而創建數組

    ARRAY_NAME[0]=value1

    ARRAY_NAME[1]=value2

    ...

以下介紹對數組的操作:

1.引用數組的元素:

   引用數組元素的方式:${ARRAY_NAME[INDEX]}

     注意:如果不給出索引編號index,則表示引用數組的第一個元素

   引用整個數組所有元素:${ARRAY_NAME[*/@]}

   引用數組的索引:${!ARRAY_NAME[*/@]}

2.查看數組的長度:數組中有效元素的個數:

    ${#ARRAY_NAME[*/@]}

3.數組切片:

  ${ARRAY_NAME:offset}顯示包括offset數字所表示的索引位置及以後的所有元素

4.追加元素:

  1).稠密數組:

   ARRAY_NAME[${#ARRAY_NAME[*]}]=valuex

  2).稀疏數組

   ARRAY_NAME[INDEX]=valuex  這裏的index必須爲未被使用的數組元素索引編號;

5.撤銷數組

  unset ARRAY_NAME

6.刪除數組的元素

  unset ARRAY_NAME[INDEX]

關於數組簡單的記到這裏,數組方便我們對大量數據的存儲,讀取等操作,用處是大大的

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