HOWTO · Bash
Bash 中的陣列長度
本教程將討論如何在 Bash 中查詢陣列長度。
出於各種目的,我們需要知道陣列的長度。例如,如果你正在查詢陣列中的特定資料並且不知道陣列的長度,則需要在開始搜尋之前先找到陣列的長度。
其他程式語言有一個內建函式或關鍵字來查詢陣列長度。但是在 Bash 指令碼中,它有點不同。
在本文中,我們將瞭解如何找到陣列長度並將其用於各種目的。
在 Bash 中獲取陣列長度
查詢陣列長度的一般語法是:
${#ARRAY[*]}
在下面的示例中,我們只查詢陣列的長度:
names=("Alen" "Walker" "Miller")
echo The length of the array is ${#names[*]}
在上面的程式碼中,我們計算了 names 陣列的長度。執行示例程式碼後,你將獲得以下輸出。
輸出:
The length of the array is 3
在 Bash 中使用 for 迴圈來得到陣列長度
現在,是時候進行一個高階示例了。我們已經成功地理解了如何找到陣列的長度。
我們現在將看到如何將這個陣列長度用於各種目的。下面,我們分享了之前示例的更新版本,它將首先計算陣列的長度,然後在 for 迴圈中使用它來顯示陣列中的所有元素。
這是我們示例的程式碼:
names=("Alen" "Walker" "Miller")
len=${#names[*]}
echo The length of the array is - $len
for (( i=0; i<$len; i++ ))
do
echo The value of element $i is: ${names[$i]}
done
如你所見,在 len=${#names[*]} 行中,我們建立了一個名為 len 的變數並將其分配給陣列長度的值。這很重要,因為我們需要知道陣列長度才能執行迴圈並提取陣列資料。
之後,我們列印陣列長度並執行一個 for 迴圈來提取每個陣列元素。如果你檢視程式的以下輸出,你可以看到我們從 0 開始陣列索引。
眾所周知,陣列索引總是從 0 開始。
輸出:
The length of the array is 3
The value of element 0 is: Alen
The value of element 1 is: Walker
The value of element 2 is: Miller
請注意,本文中使用的所有程式碼都是用 Bash 編寫的。它僅適用於 Linux Shell 環境。