溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux Shell 數(shù)組的創(chuàng)建及使用方法

發(fā)布時(shí)間:2021-08-03 19:04:41 來(lái)源:億速云 閱讀:284 作者:chen 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“Linux Shell 數(shù)組的創(chuàng)建及使用方法”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

linux shell在編程方面比windows 批處理強(qiáng)大太多,無(wú)論是在循環(huán)、運(yùn)算。已經(jīng)數(shù)據(jù)類型方面都是不能比較的。 下面是個(gè)人在使用時(shí)候,對(duì)它在數(shù)組方面一些操作進(jìn)行的總結(jié)。

1.數(shù)組定義

[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ echo $a

一對(duì)括號(hào)表示是數(shù)組,數(shù)組元素用“空格”符號(hào)分割開。

2.數(shù)組讀取與賦值

得到長(zhǎng)度:

[chengmo@centos5 ~]$ echo ${#a[@]}
5


用${#數(shù)組名[@或*]} 可以得到數(shù)組長(zhǎng)度

讀?。?br/>

[chengmo@centos5 ~]$ echo ${a[2]} 
3

[chengmo@centos5 ~]$ echo ${a[*]} 
1 2 3 4 5

用${數(shù)組名[下標(biāo)]} 下標(biāo)是從0開始  下標(biāo)是:*或者@ 得到整個(gè)數(shù)組內(nèi)容

賦值:

[chengmo@centos5 ~]$ a[1]=100

[chengmo@centos5 ~]$ echo ${a[*]} 
1 100 3 4 5

[chengmo@centos5 ~]$ a[5]=100   
[chengmo@centos5 ~]$ echo ${a[*]}

1 100 3 4 5 100

直接通過(guò) 數(shù)組名[下標(biāo)] 就可以對(duì)其進(jìn)行引用賦值,如果下標(biāo)不存在,自動(dòng)添加新一個(gè)數(shù)組元素

刪除:

[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ unset a
[chengmo@centos5 ~]$ echo ${a[*]}

[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ unset a[1]  
[chengmo@centos5 ~]$ echo ${a[*]} 
1 3 4 5
[chengmo@centos5 ~]$ echo ${#a[*]}
4

直接通過(guò):unset 數(shù)組[下標(biāo)] 可以清除相應(yīng)的元素,不帶下標(biāo),清除整個(gè)數(shù)據(jù)。

3.特殊使用

分片:

[chengmo@centos5 ~]$ a=(1 2 3 4 5)
[chengmo@centos5 ~]$ echo ${a[@]:0:3}
1 2 3
[chengmo@centos5 ~]$ echo ${a[@]:1:4}
2 3 4 5

[chengmo@centos5 ~]$ c=(${a[@]:1:4})
[chengmo@centos5 ~]$ echo ${#c[@]}
4
[chengmo@centos5 ~]$ echo ${c[*]} 
2 3 4 5


直接通過(guò) ${數(shù)組名[@或*]:起始位置:長(zhǎng)度} 切片原先數(shù)組,返回是字符串,中間用“空格”分開,因此如果加上”()”,將得到切片數(shù)組,上面例子:c 就是一個(gè)新數(shù)據(jù)。

替換:

[chengmo@centos5 ~]$ a=(1 2 3 4 5)  
[chengmo@centos5 ~]$ echo ${a[@]/3/100}
1 2 100 4 5
[chengmo@centos5 ~]$ echo ${a[@]}
1 2 3 4 5
[chengmo@centos5 ~]$ a=(${a[@]/3/100}) 
[chengmo@centos5 ~]$ echo ${a[@]}   
1 2 100 4 5

調(diào)用方法是:${數(shù)組名[@或*]/查找字符/替換字符} 該操作不會(huì)改變?cè)葦?shù)組內(nèi)容,如果需要修改,可以看上面例子,重新定義數(shù)據(jù)。

從上面講到的,大家可以發(fā)現(xiàn)linux shell 的數(shù)組已經(jīng)很強(qiáng)大了,常見的操作已經(jīng)綽綽有余了。

“Linux Shell 數(shù)組的創(chuàng)建及使用方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI