轉(zhuǎn)帖|行業(yè)資訊|編輯:鄭恭琳|2015-09-28 10:22:33.000|閱讀 144 次
概述:linux shell在編程方面比windows 批處理強(qiáng)大太多,無論是在循環(huán)、運(yùn)算以及數(shù)據(jù)類型方面都是不能比較的。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
linux shell在編程方面比windows 批處理強(qiáng)大太多,無論是在循環(huán)、運(yùn)算以及數(shù)據(jù)類型方面都是不能比較的。 下面是個(gè)人在使用時(shí)候,對(duì)它在數(shù)組方面一些操作進(jìn)行的總結(jié)。
1.數(shù)組定義
1
2
|
[chengmo@centos5 ~]$ a=(1 2 3 4 5) [chengmo@centos5 ~]$ echo $a |
一對(duì)括號(hào)表示是數(shù)組,數(shù)組元素用“空格”符號(hào)分割開。
2.數(shù)組讀取與賦值
1
2
|
[chengmo@centos5 ~]$ echo ${ #a[@]} 5 |
用${#數(shù)組名[@或*]} 可以得到數(shù)組長(zhǎng)度
1
2
|
[chengmo@centos5 ~]$ echo ${a[2]} 3 |
1
2
|
[chengmo@centos5 ~]$ echo ${a[*]} 1 2 3 4 5 |
用${數(shù)組名[下標(biāo)]} 下標(biāo)是從0開始 下標(biāo)是:*或者@ 得到整個(gè)數(shù)組內(nèi)容
1
2
3
4
5
6
7
|
[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 |
直接通過 數(shù)組名[下標(biāo)] 就可以對(duì)其進(jìn)行引用賦值,如果下標(biāo)不存在,自動(dòng)添加新一個(gè)數(shù)組元素
1
2
3
4
5
6
7
8
9
|
[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 |
直接通過:unset 數(shù)組[下標(biāo)] 可以清除相應(yīng)的元素,不帶下標(biāo),清除整個(gè)數(shù)據(jù)。
3.特殊使用
1
2
3
4
5
|
[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 |
1
2
3
4
5
|
[chengmo@centos5 ~]$ c=(${a[@]:1:4}) [chengmo@centos5 ~]$ echo ${ #c[@]} 4 [chengmo@centos5 ~]$ echo ${c[*]} 2 3 4 5 |
直接通過 ${數(shù)組名[@或*]:起始位置:長(zhǎng)度} 切片原先數(shù)組,返回是字符串,中間用“空格”分開,因此如果加上”()”,將得到切片數(shù)組,上面例子:c 就是一個(gè)新數(shù)據(jù)。
1
2
3
4
5
6
7
8
|
[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ù)。
轉(zhuǎn)自:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn