linux shell 陣列建立及使用技巧

2022-05-02 10:24:09 字數 4262 閱讀 9322

**:

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

1.陣列定義

[chengmo@centos5 ~]$ a=(123

45)[chengmo@centos5 ~]$ echo

$a1

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

2.陣列讀取與賦值

[chengmo@centos5 ~]$ echo

$5

用$ 可以得到陣列長度

[chengmo@centos5 ~]$ echo $

3

[chengmo@centos5 ~]$ echo $12

345

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

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

[chengmo@centos5 ~]$ echo $

110034

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

[chengmo@centos5 ~]$ echo $

110034

5100

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

[chengmo@centos5 ~]$ a=(123

45) [chengmo@centos5 ~]$ unset a

[chengmo@centos5 ~]$ echo $

[chengmo@centos5 ~]$ a=(123

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

] [chengmo@centos5 ~]$ echo $

1345

[chengmo@centos5 ~]$ echo $

4

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

3.特殊使用

[chengmo@centos5 ~]$ a=(123

45)[chengmo@centos5 ~]$ echo $12

3[chengmo@centos5 ~]$ echo $23

45

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

[chengmo@centos5 ~]$ echo$4

[chengmo@centos5 ~]$ echo $23

45

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

[chengmo@centos5 ~]$ a=(123

45)

[chengmo@centos5 ~]$ echo $12

1004

5[chengmo@centos5 ~]$ echo$1

2345

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

[chengmo@centos5 ~]$ echo

$ 12

1004

5

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

從上面講到的,大家可以發現linux shell 的陣列已經很強大了,常見的操作已經綽綽有餘了。

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

1.陣列定義

[chengmo@centos5 ~]$ a=(123

45)[chengmo@centos5 ~]$ echo

$a1

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

2.陣列讀取與賦值

[chengmo@centos5 ~]$ echo

$5

用$ 可以得到陣列長度

[chengmo@centos5 ~]$ echo $

3

[chengmo@centos5 ~]$ echo $12

345

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

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

[chengmo@centos5 ~]$ echo $

110034

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

[chengmo@centos5 ~]$ echo $

110034

5100

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

[chengmo@centos5 ~]$ a=(123

45) [chengmo@centos5 ~]$ unset a

[chengmo@centos5 ~]$ echo $

[chengmo@centos5 ~]$ a=(123

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

] [chengmo@centos5 ~]$ echo $

1345

[chengmo@centos5 ~]$ echo $

4

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

3.特殊使用

[chengmo@centos5 ~]$ a=(123

45)[chengmo@centos5 ~]$ echo $12

3[chengmo@centos5 ~]$ echo $23

45

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

[chengmo@centos5 ~]$ echo$4

[chengmo@centos5 ~]$ echo $23

45

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

[chengmo@centos5 ~]$ a=(123

45)

[chengmo@centos5 ~]$ echo $12

1004

5[chengmo@centos5 ~]$ echo$1

2345

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

[chengmo@centos5 ~]$ echo

$ 12

1004

5

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

從上面講到的,大家可以發現linux shell 的陣列已經很強大了,常見的操作已經綽綽有餘了。

linux shell 陣列建立及使用技巧

1.陣列定義 chengmo centos5 a 1 2 3 4 5 chengmo centos5 echo a 1一對括號表示是陣列,陣列元素用 空格 符號分割開。2.陣列讀取與賦值 chengmo centos5 echo 5用 可以得到陣列長度 chengmo centos5 echo 3 ...

linux shell 陣列建立及使用技巧

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

linux shell 陣列建立及使用技巧

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