Linux bash 陣列操作


當我們談到使命令列流程自動化時,Bash 指令碼是最方便的方法之一。它們幫助我們以更簡單、更易理解的方式完成多項任務,而且我們幾乎可以完成所有
操作,在其他語言中也可以完成。

眾所周知,bash 的語法最初可能很棘手,因此我會嘗試解釋本教程中我使用的一切。

我們會遇到各種情況,我們希望利用 Bash 指令碼對陣列執行不同的操作。在本教程中,我們將使用不同的 Bash 指令碼來解釋針對陣列可執行的不同操作。

如何建立和執行 Bash 檔案?

當我們想要使用 Bash 指令碼時,第一步是要建立一個指令碼。在 Linux 或 Mac 電腦中,我們可以藉助以下命令來建立一個 Bash 檔案。

touch mybashfile.sh

請注意,檔名稱可以是您想要的任何名稱,但副檔名必須相同(即bash)。

儲存檔案後,您可以使用以下命令執行相同的操作 −

bash mybashfile.sh

現在我們知道了如何建立和執行 Bash 指令碼檔案,讓我們在示例中使用它。

列印一個陣列的第一個元素

在此示例中,我們將學習如何使用 Bash 指令碼列印一個陣列的第一個元素。請考慮以下Bash 指令碼

#!/bin/bash

myarray = (apple banana mango kiwi litchi watermelon)

# printing the first element
echo ${myarray[0]}
echo ${myarray:0}

在上述 bash 指令碼中,我們建立一個名為 myarray 的陣列,其中包含不同水果的名稱,然後我們使用 echo 命令和不同的符號來列印陣列中的第一個元素。

現在要執行並執行上述指令碼,請將其儲存在一個檔案中。我們假設該檔名為 mybash.sh。然後我們只需要使用以下所示的 命令執行 bash 指令碼。

bash mybash.sh

一旦我們執行上述命令,它將在終端中產生以下 輸出

apple
apple

列印陣列的所有元素

在此示例中,我們將瞭解如何使用 bash 指令碼來列印其中的陣列的所有元素。考慮下面所示的 bash 指令碼

#!/bin/bash

myarray=( apple banana mango kiwi litchi watermelon )

# printing all array elements

echo ${myarray[@]}
echo ${myarray[@]:0}

在上述 bash 指令碼中,我們建立一個名為 myarray 的陣列,其中包含不同水果的名稱,然後我們使用 echo 命令和不同的符號來列印 array 中存在的所有元素。

要執行並執行上述指令碼,請將其儲存在一個檔案中。我們假定該檔名為 mybash.sh。然後我們只需要使用以下所示的 命令執行 bash 指令碼。

bash mybash.sh

一旦我們執行上述命令,它將在終端中產生以下 輸出

apple banana mango kiwi litchi watermelon
apple banana mango kiwi litchi watermelon

列印在特定範圍內的陣列元素

在此示例中,我們將瞭解如何使用 bash 指令碼列印陣列中特定範圍記憶體在的所有元素。考慮下面所示的 bash 指令碼

#!/bin/bash

myarray = (apple banana mango kiwi litchi watermelon)

# printing array elements in a certain range

echo ${myarray[@]:1:3}
echo ${myarray[@]:1:5}

在上述 bash 指令碼中,我們建立一個名為 myarray 的陣列,其中包含不同水果的名稱,然後我們使用 echo 命令和不同的符號來列印 array 中的特定範圍記憶體在的所有元素。

現在要執行並執行上述指令碼,請將其儲存在一個檔案中。我們假設該檔名為 mybash.sh。然後我們只需要使用以下所示的 命令執行 bash 指令碼。

bash mybash.sh

一旦我們執行上述命令,它將在終端中產生以下輸出 −

banana mango kiwi
banana mango kiwi litchi watermelon

列印陣列元素數量

在此示例中,我們將瞭解如何使用 bash 指令碼來列印 array 中存在的元素數量。

考慮下面所示的 bash 指令碼。

#!/bin/bash

myarray = (apple banana mango kiwi litchi watermelon)

# printing the number of elements in the array

echo ${#myarray[*]}
echo ${#myarray[@]}

在上述 bash 指令碼中,我們建立一個名為 myarray 的陣列,其中包含不同水果的名稱,然後我們使用 echo 命令並使用兩個不同的運算子來列印陣列的長度。

要執行並執行上述指令碼,請將其儲存在一個檔案中。我們假設該檔名為 mybash.sh。然後我們只需要使用以下 命令執行 bash 指令碼 −

bash mybash.sh

一旦我們執行上述命令,我們將在終端中獲得的 輸出如下所示。

6
6

結論

在本教程中,您學習了在 Linux bash 中針對陣列可以執行的不同基本操作。

更新於:18-Jul-2022

663 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.