shell腳本基礎--數組

q1.數組數組

  咱們知道,變量就是內存裏的存儲空間,每一個變量只能夠存儲一個數據,進行一次性的賦值操做,那麼遇到一些須要連續存儲並讀取的任務時,若是仍是依靠變量進行屢次存儲,既不會保證內存空間的連續性,也大大下降了CPU的效率,這時就須要數組這一類型的變量出馬了!bash

數組變量:ide

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

數組的索引有如下方式:
spa

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

     0,1,2,3....索引

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

     bash4.0以上的版本才支持字符串

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

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

  稀疏數組:索引編號能夠不連續,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]

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

相關文章
相關標籤/搜索