新聞中心

許昌網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,許昌網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為許昌近1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請找那個(gè)售后服務(wù)好的許昌做網(wǎng)站的公司定做!
Shell 并且沒有限制數(shù)組的大小,理論上可以存放無限量的數(shù)據(jù)。和 C++、Java、C# 等類似,Shell 數(shù)組元素的下標(biāo)也是從 0 開始計(jì)數(shù)。
獲取數(shù)組中的元素要使用下標(biāo)
[ ],下標(biāo)可以是一個(gè)整數(shù),也可以是一個(gè)結(jié)果為整數(shù)的表達(dá)式;當(dāng)然,下標(biāo)必須大于等于 0。
遺憾的是,常用的 Bash Shell 只支持一維數(shù)組,不支持多維數(shù)組。
Shell 數(shù)組的定義
在 Shell 中,用括號
( )來表示數(shù)組,數(shù)組元素之間用空格來分隔。由此,定義數(shù)組的一般形式為:
array_name=(ele1 ele2 ele3 ... elen)
注意,賦值號
=兩邊不能有空格,必須緊挨著數(shù)組名和數(shù)組元素。
下面是一個(gè)定義數(shù)組的實(shí)例:
nums=(29 100 13 8 91 44)
Shell 是弱類型的,它并不要求所有數(shù)組元素的類型必須相同,例如:
arr=(20 56 "http://c.biancheng.net/shell/")
第三個(gè)元素就是一個(gè)“異類”,前面兩個(gè)元素都是整數(shù),而第三個(gè)元素是字符串。
Shell 數(shù)組的長度不是固定的,定義之后還可以增加元素。例如,對于上面的 nums 數(shù)組,它的長度是 6,使用下面的代碼會在最后增加一個(gè)元素,使其長度擴(kuò)展到 7:
nums[6]=88
此外,你也無需逐個(gè)元素地給數(shù)組賦值,下面的代碼就是只給特定元素賦值:
ages=([3]=24 [5]=19 [10]=12)
以上代碼就只給第 3、5、10 個(gè)元素賦值,所以數(shù)組長度是 3。
獲取數(shù)組元素
獲取數(shù)組元素的值,一般使用下面的格式:
${array_name[index]}
其中,array_name 是數(shù)組名,index 是下標(biāo)。例如:
n=${nums[2]}
表示獲取 nums 數(shù)組的第二個(gè)元素,然后賦值給變量 n。再如:
echo ${nums[3]}
表示輸出 nums 數(shù)組的第 3 個(gè)元素。
使用
@或
*可以獲取數(shù)組中的所有元素,例如:
${nums[*]}
${nums[@]}
兩者都可以得到 nums 數(shù)組的所有元素。
完整的演示:
#!/bin/bash
nums=(29 100 13 8 91 44)
echo ${nums[@]} #輸出所有數(shù)組元素
nums[10]=66 #給第10個(gè)元素賦值(此時(shí)會增加數(shù)組長度)
echo ${nums[*]} #輸出所有數(shù)組元素
echo ${nums[4]} #輸出第4個(gè)元素
運(yùn)行結(jié)果:
29 100 13 8 91 44
29 100 13 8 91 44 66
91
當(dāng)前標(biāo)題:Shell數(shù)組:Shell數(shù)組定義以及獲取數(shù)組元素
新聞來源:http://www.dlmjj.cn/article/coopigj.html


咨詢
建站咨詢
