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]
關於數組簡單的記到這裏,數組方便咱們對大量數據的存儲,讀取等操做,用處是大大的