linux shell 陣列使用

2021-06-25 17:37:17 字數 2045 閱讀 4513



linux shell在程式設計方面比windows 批處理強大太多,無論是在迴圈、運算。已經資料型別方面都是不能比較的。 下面是個人在使用時候,對它在陣列方面一些操作進行的總結。

1.陣列定義

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

[chengmo@centos5 ~]$ echo $a

1一對括號表示是陣列,陣列元素用「空格」符號分割開。

2.陣列讀取與賦值

[chengmo@centos5 ~]$ echo $

5

用$ 可以得到陣列長度

[chengmo@centos5 ~]$ echo $

3

[chengmo@centos5 ~]$ echo $

1 2 3 4 5   

用$ 下標是從0開始  下標是:*或者@ 得到整個陣列內容

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

[chengmo@centos5 ~]$ echo $

1 100 3 4 5

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

[chengmo@centos5 ~]$ echo $

1 100 3 4 5 100

直接通過 陣列名[下標] 就可以對其進行引用賦值,如果下標不存在,自動新增新乙個陣列元素

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

[chengmo@centos5 ~]$ unset a

[chengmo@centos5 ~]$ echo $

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

[chengmo@centos5 ~]$ unset a[1]  

[chengmo@centos5 ~]$ echo $

1 3 4 5

[chengmo@centos5 ~]$ echo $

4

直接通過:unset 陣列[下標] 可以清除相應的元素,不帶下標,清除整個資料。

3.特殊使用

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

[chengmo@centos5 ~]$ echo $

1 2 3

[chengmo@centos5 ~]$ echo $

2 3 4 5

[chengmo@centos5 ~]$ c=($)

[chengmo@centos5 ~]$ echo $

4[chengmo@centos5 ~]$ echo $

2 3 4 5

直接通過 $ 切片原先陣列,返回是字串,中間用「空格」分開,因此如果加上」()」,將得到切片陣列,上面例子:c 就是乙個新資料。

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

[chengmo@centos5 ~]$ echo $

1 2 100 4 5

[chengmo@centos5 ~]$ echo $

1 2 3 4 5

[chengmo@centos5 ~]$ a=($)

[chengmo@centos5 ~]$ echo $    

1 2 100 4 5

呼叫方法是:$ 該操作不會改變原先陣列內容,如果需要修改,可以看上面例子,重新定義資料。

linux shell陣列使用

摘自 陣列的定義與賦值 1 array value1 valuen 此時下標從0開始 一對括號表示是陣列,陣列元素用 空格 符號分割開。2 array index value 直接通過 陣列名 下標 就可以對其進行引用賦值,如果下標不存在,自動新增新乙個陣列元素 獲取陣列內容 得到第二個元素。得到所...

Linux shell之陣列使用

1.陣列定義 a 1 2 3 4 5 2.陣列引用 apuser wenyangubtpc echo 1 2 3 4 5 3.陣列長度 apuser wenyangubtpc echo 5 4.列印陣列 echo apuser wenyangubtpc echo 1 2 3 4 5 5.陣列元素引用...

linux shell 陣列的使用

在linux平台上工作,我們經常需要使用shell來編寫一些有用 有意義的指令碼程式。有時,會經常使用shell陣列。那麼,shell中的陣列是怎麼表現的呢,又是怎麼定義的呢?接下來逐一的進行講解,shell中的陣列。何為陣列?學過計算機程式語言的同學都知道,陣列的特性就是一組資料型別相同的集合 不...