數(shù)組就是相同數(shù)據(jù)類型的元素按一定順序排列的集合,就是把有限個(gè)類型相同的變量用一個(gè)名字命名,然后用編號(hào)區(qū)分他們的變量的集合,這個(gè)名字稱為數(shù)組名,編號(hào)稱為下標(biāo)。組成數(shù)組的各個(gè)變量稱為數(shù)組的元素。數(shù)組是在程序設(shè)計(jì)中,為了處理方便, 把具有相同類型的若干變量按有序的形式組織起來的一種形式。
一、數(shù)組的表示方式
1、下標(biāo)數(shù)組
下標(biāo)必須為整數(shù),格式:數(shù)組名[下標(biāo)],下標(biāo)默認(rèn)從0開始。
shell支持稀疏數(shù)組,下標(biāo)整數(shù)不需要連續(xù)。
聲明方式:declare -a 數(shù)組名
2、關(guān)聯(lián)數(shù)組
關(guān)聯(lián)數(shù)組可以使用任意的字符串作為下標(biāo)(不必是整數(shù))來訪問數(shù)組元素。bash4.0開始支持關(guān)聯(lián)數(shù)組。
格式:數(shù)組名[任意字符串]
聲明方式:declare -A 關(guān)聯(lián)數(shù)組
另外,shell只支持一維數(shù)組,不支持多維數(shù)組。
二、數(shù)組的賦值
三、數(shù)組的訪問
通過操作語法來實(shí)現(xiàn)對數(shù)組元素的訪問。
語法格式有以下幾種:
數(shù)組的長度:
${#ARRAY[*]}:顯示元素個(gè)數(shù);
${#ARRAY[@]}:顯示元素個(gè)數(shù);
${#ARRAY[#]}:第#個(gè)元素的字符個(gè)數(shù);
${#ARRAY}:第0個(gè)元素的字符個(gè)數(shù);
數(shù)組的元素:
${ARRAY[*]}:顯示所有元素內(nèi)容;
${ARRAY[@]}:顯示所有元素內(nèi)容;
${ARRAY[#]}:顯示第#個(gè)元素;
${ARRAY}:顯示第0個(gè)元素;
數(shù)組的鍵值:
$[!ARRAY[*]}:顯示所有的鍵值;
$[!ARRAY[@]}:顯示所有的鍵值。
實(shí)例:寫一個(gè)腳本,生成10個(gè)隨機(jī)數(shù),保存至數(shù)組中,而后顯示數(shù)組下標(biāo)為偶數(shù)的元素:
四、從數(shù)組中挑選元素
如果想要從數(shù)組中取出某幾個(gè)元素時(shí),使用下標(biāo)逐個(gè)查找比較麻煩,可以使用數(shù)組的偏移元素功能來簡化操作。
語法格式:
${ARRAY[@]:offset:number}
offset:偏移元素個(gè)數(shù);
number:取出的元素個(gè)數(shù);
實(shí)例:數(shù)組off_array中有6個(gè)元素,假設(shè)我們想要取3月到5月這三個(gè)值:
五、數(shù)組復(fù)制
$@:每個(gè)參數(shù)是一個(gè)獨(dú)立的串,建議使用;
$*:所有元素當(dāng)做一個(gè)串。
實(shí)例:復(fù)制一個(gè)數(shù)組中下標(biāo)為偶數(shù)的元素至新數(shù)組中:
六、從數(shù)組中刪除元素
格式:unset 數(shù)組名[下標(biāo)]
七、綜合實(shí)例
生成10個(gè)隨機(jī)數(shù),并對這10個(gè)隨機(jī)數(shù)進(jìn)行排序。
您可能感興趣的文章:- Shell獲取字符串長度的多種方法總結(jié)
- 用Shell判斷字符串包含關(guān)系的方法小結(jié)
- linux shell字符串內(nèi)置的常用操作(獲取長度、查找、替換)
- Shell中判斷字符串是否為數(shù)字的6種方法分享
- Shell腳本計(jì)算字符串長度和判斷字符串為空小技巧
- shell編程中的字符串截取方法小結(jié)
- Shell腳本實(shí)現(xiàn)簡單分割字符串
- Shell腳本實(shí)現(xiàn)查找字符串中某字符最后出現(xiàn)的位置
- Linux shell數(shù)組循環(huán)的實(shí)例詳解
- linux shell實(shí)現(xiàn)求一個(gè)多維數(shù)組中的最大和最小值
- Shell中創(chuàng)建序列和數(shù)組(list、array)的方法
- shell腳本字符串和數(shù)組的使用操作方法