在本主題中,我們將演示bash數組的基礎知識以及在bash shell腳本中使用它們的方式。
數組通常被定義為一組類型相當的元素。與大多數編程語言不同,bash腳本中的數組不需要是可比較元素的集合。由於Bash不區分字符串和變量,數組可以同時包含字符串和數字。
Bash不支持多維數組;我們不可能擁有本身就是陣列的天氣。Bash為包括關聯數組在內的一維數字排列數組提供了幫助。為了從最後一個數組訪問數字索引數組,我們將使用負標。'-1'的索引將被視為最後一個元素的引用。我們將在數組中使用幾個元素。
Bash數組聲明
Bash中的數組通常以以下方式聲明:
創建數字索引數組
我們可以使用任何變量作為索引數組而不聲明它。
要顯式地將一個變量聲明為Bash數組,使用關鍵字'declare',因此語法通常定義為:
聲明一個ARRAY_NAME
在那裏,
ARRAY_NAME表示可以分配給數組的名稱。
注意:在Bash中命名變量的規則與命名數組的規則相同。
創建索引數組的通用方法通常定義為以下形式:
ARRAY_NAME [index_1] = value_1
ARRAY_NAME [index_2] = value_2
ARRAY_NAME [index_n] = value_n
關鍵字'index'用於定義正整數。
創建關聯數組
與數字索引數組不同,關聯數組首先聲明。我們將使用關鍵字'declare',因此選擇-A(大寫)來聲明關聯數組。語法通常定義為:
declare -A ARRAY_NAME
創建關聯數組的通用方法通常定義為以下形式:
declare -A ARRAY_NAME
ARRAY_NAME [index_foo] = value_foo
ARRAY_NAME [index_bar] = value_bar
ARRAY_NAME [index_xyz] = value_xyz
其中使用index_定義任何字符串。
我們也可以用下麵的方式來寫上麵的表單:
declare -A ARRAY_NAME
ARRAY_NAME = (
[index_foo] = value_foo
[index_bar] = value_bar
[index_xyz] = value_xyz
)
Bash數組初始化
要初始化一個Bash數組,我們將使用賦值操作符(=),在括號內指定天氣列表,以如下所示的空格分隔:
ARRAY_NAME=(element_1st element_2nd element_Nth)
注意:這裏,主元素的索引為0。另外,賦值操作符(=)周圍不應該有空格。
訪問Bash數組的元素
要訪問Bash數組的天氣,我們將使用以下語法:
echo $ {ARRAY_NAME [2]}
打印Bash數組
我們可以使用關鍵字'declare'和'-p'選項來打印一個Bash數組的所有天氣以及所有索引和詳細信息。打印Bash數組的語法通常定義為:
聲明-p ARRAY_NAME
數組操作
一旦數組被賦值,我們將在其上執行一些有用的操作。我們將顯示它的鍵和值,也可以通過添加或刪除元素來修改它們:
引用的元素
要引用一個元素,我們需要了解元素的索引。我們將使用以下語法引用或打印任何元素:
$ {ARRAY_NAME(指數)}
注意:需要花括號${}來避免shell的文件名展開操作符。
聲明示例:
# !/bin/bash #輸出索引為2的數組元素的腳本#聲明數組declare -a example_array=("Welcome"" to ""Great" "Learning" "Academy") #輸出索引為2的數組元素echo ${example_array[2]}
上麵代碼的輸出。
結論:
類似地,我們可以在創建自己的bash腳本時使用這些bash命令。