shell指令碼中的陣列

2021-07-01 20:57:54 字數 913 閱讀 3264

以下命令,都是以陣列array=("20150417" "20150416" "20150415")為例。

注意bash中只支援一維陣列,沒有限定陣列的大小。類似與c語言,陣列元素的下標由0開始編號。獲取陣列中的元素要利用下標,下標可以是整數或算術表示式,其值應大於或等於0。

【陣列定義】:

說明:陣列元素的間隔符可以是空格,也可以是回車換行。例如:

1、使用空格定義的:

array=("20150417" "20150416" "20150415")

2、使用回車換行定義的:

array=(20150415

20150417)

3、單獨給陣列元素賦值的定義方式:

array[0]=test0

array[1]=test1

array[18]=t18

array[23]=test23

可見這種方式的賦值時,陣列元素下標可以不連續,而且不會限制你是用的陣列元素下標的大小。

【陣列元素的獲取】

1、獲取陣列中某個元素的值:

$array[0]

按照本文開始的定義,這個值就是20150417,及想獲取第n個值就寫$array[n-1],如果n超過了陣列元素個數,這個值就是0.

2、獲取陣列中所有的元素:

$array[@] 或$array[0]

3、獲取陣列中的元素個數:

獲取陣列長度的方法與獲取字串長度的方法類似(比如$):

$ 或 $

4、獲取陣列元素的所有下角標:

$ 或 $

當然如果只想獲取第n個元素的下角標(即為n-1),只需要使用$即可(這樣看起來可能有點多此一舉了,因為第n個元素的下角標就是n-1,而之所以有這中方式來獲取,是因為有些時候你不確定陣列元素有多少個,而要一一獲取到這些元素的下角標,用上面的方式即可。)

shell指令碼中的陣列

以下命令,都是以陣列array 20150417 20150416 20150415 為例。注意bash中只支援一維陣列,沒有限定陣列的大小。類似與c語言,陣列元素的下標由0開始編號。獲取陣列中的元素要利用下標,下標可以是整數或算術表示式,其值應大於或等於0。陣列定義 說明 陣列元素的間隔符可以是空...

shell指令碼中的函式, shell中的陣列

示例1 bin bash 函式的使用 input input 1 a b root second fun.sh 1 a 3 fun.sh 示例2 bin bash 傳遞乙個引數給函式 input read p please input n input root second fun.sh pleas...

Shell指令碼之陣列

陣列是存放相同型別資料的集合,陣列中可以存放多個值,經常配合迴圈語句進行使用。例如 有乙個陣列 num 15 16 17 18 19 陣列名稱 num 陣列元素 第1個 11 陣列長度 5 陣列下標 元素18所對應的下標為3shell 陣列用括號來表示,元素用 空格 符號分割開,語法格式如下 方法一...