新聞中心

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


咨詢
建站咨詢
