天天看點

【shell】shell腳本實戰-shell數組

1. 根據索引切片

2. 數組替換

數組的定義

數組的簡單介紹

數組的引用

數組使用舉例

數組的切片與替換

總結

數組中可以存放多個值。bash shell 隻支援一維數組(不支援多元數組),初始化時不需要定義數組大小(與 php 類似)。與大部分程式設計語言類似,數組元素的下标由0開始。

在 shell 中,用括号**( )來表示數組,數組元素之間用空格**來分隔。由此,定義數組的一般形式為:

array=(value01 value02 … valuen)

注意,指派号=兩邊不能有空格,必須緊挨着數組名和數組元素。

下面是一個定義數組的執行個體:

shell 是弱類型的,它并不要求所有數組元素的類型必須相同,例如:

第三個元素就是一個“異類”,前面兩個元素都是整數,而第三個元素是字元串。

shell 數組的長度不是固定的,定義之後還可以增加元素。

例如,對于上面的 nums 數組,它的長度是 6,使用下面的代碼會在最後增加一個元素,使其長度擴充到 7:

此外,你也無需逐個元素地給數組指派,下面的代碼就是隻給特定元素指派:

以上代碼就隻給第 3、5、10 個元素指派,是以數組長度是 3。

擷取數組元素的值,一般使用下面的格式:

其中,array_name 是數組名,index 是下标。例如:

表示擷取 nums 數組的第二個元素,然後指派給變量 n。再如:

表示輸出 nums 數組的第 3 個元素。

使用@和*可以擷取數組中的所有元素,例如:

執行個體一:

示例二:

找出一組資料中的最大數,這組資料用數組儲存。

替換的是元素

shell的數組在腳本中如果運用得當,也是一個很好的工具。