Bash 中的陣列長度

MD Aminul Islam 2023年1月30日
  1. 在 Bash 中獲取陣列長度
  2. 在 Bash 中使用 for 迴圈來得到陣列長度
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 環境。

作者: MD Aminul Islam
MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn

相關文章 - Bash Array