shell指令碼基礎--數組

來源:互聯網
上載者:User

標籤: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]

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

shell指令碼基礎--數組

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.