陣列與關聯陣列

2022-06-10 21:33:08 字數 1557 閱讀 5746

簡介:

陣列允許指令碼利用索引將資料集合儲存為獨立的條目。bash支援普通陣列和關聯陣列,前者使用整數作為陣列索引,後者使用字串作為陣列索引。當資料以數字順序組織的時候,應該使用普通陣列,例如一組連續的迭代。當資料以字串組織的時候,關聯陣列就派上用場了,例如主機名稱。本節會介紹普通陣列和關聯陣列的用法

(1) 可以在單行中使用數值列表來定義乙個陣列:

array_var=(test1 test2 test3 test4)

#這些值將會儲存在以0為起始索引的連續位置上

另外,還可以將陣列定義成一組「索引值」:

array_var[0]="test1"

array_var[1]="test2"

array_var[2]="test3"

array_var[3]="test4"

array_var[4]="test5"

array_var[5]="test6"

(2) 列印出特定索引的陣列元素內容:
echo $

test1

index=5

echo $

test6

(3) 以列表形式列印出陣列中的所有值:
$ echo $

test1 test2 test3 test4 test5 test6

也可以這樣使用:

$ echo $

test1 test2 test3 test4 test5 test6

(4) 列印陣列長度(即陣列中元素的個數):
$ echo $6
在關聯陣列中,我們可以用任意的文字作為陣列索引。首先,需要使用宣告語句將乙個變數定義為關聯陣列:

declare / typeset:

declare 或 typeset 是一樣的功能,就是在『宣告變數的型別』。如果使用 declare 後面並沒有接任何引數,那麼 bash 就會主動的將所有的變數名稱與內容通通叫出來

$ declare -a ass_array
宣告之後,可以用下列兩種方法將元素新增到關聯陣列中。

舉個例子,試想如何用關聯陣列為水果制定**:

$ declare -a fruits_value
用下面的方法顯示陣列內容:

每乙個陣列元素都有對應的索引。普通陣列和關聯陣列的索引型別不同。我們可以用下面的

方法獲取陣列的索引列表:

$ echo $
也可以這樣

$ echo $
以先前的fruits_value陣列為例,執行如下命令:

$ echo $
對於普通陣列,這個方法同樣可行。

linux 陣列與關聯陣列

bin bash file name 陣列與關聯陣列 usage 備忘 定義乙個陣列 array var1 test1 test2 test3 定義乙個陣列 array var2 0 p1 array var2 1 p2 echo array var1 0 index1 1 echo array v...

索引陣列 關聯陣列

php 數字 索引陣列一般表示陣列元素在陣列中的位置,是有數字組成,下列標從0開始 比較好的是php中的陣列元素可以是任意型別如 arr3 指定索引號 鍵 值 在陣列中,鍵是不相同的,值可以相同 鍵如果相同時最後乙個鍵會覆蓋前乙個鍵的值 索引陣列 arr array 50,60,70,80,90 a...

1215 關聯陣列

一 陣列變數的限制 在前面講的陣列變數中,可以通過下標訪問其中的元素。例如,下列語句訪問陣列 array 的第三個元素 scalar array 2 雖然陣列很有用,但它們有乙個顯著缺陷,即很難記住哪個元素存貯的什麼內容。假如我們來寫乙個程式計算某檔案中首字母大寫的單詞出現的次數,用陣列來實現就比較...