Verwenden Array in Linux Bash
Bash hat eine Array-Struktur (einige Sprachen nennen es eine Liste). In diesem Artikel erklären wir diese Struktur. Später werden wir die folgenden Themen in Bash-Skripting untersuchen.
- Array-Deklaration
- Greifen Sie auf Werte im Array zu
- Fügen Sie dem Array einen neuen Wert hinzu
- Einen Wert aus dem Array löschen
Ein Array ist eine Datenstruktur, die ähnliche Daten zusammenhält. Alle Daten im Array haben einen Index, und der Index des ersten Elements ist 0
. Auf diese Daten können wir sequentiell mit einer Schleife oder einzeln über den Datenindex zugreifen. Wir können auch das Array ändern, neue Werte hinzufügen und vorhandene Werte löschen.
Verwendung von Arrays in Bash
Nachdem wir nun wissen, was ein Array ist, können wir seine Verwendung in Bash untersuchen.
Deklarieren Sie ein Array
Ein Array wird deklariert, indem Werte in Klammern eingeschlossen werden. Zwischen den Werten stehen nur Leerzeichen, keine Zeichen wie Kommas. Eine Beispiel-Array-Deklaration ist unten.
arr=("black" "white" "red" "blue" "green")
Wir können die folgenden Methoden verwenden, um ein ganzzahliges Array zu deklarieren.
intArr=(1 2 3 4)
intArr=($(seq 1 4))
intArr=({1..4})
Diese Beispiele deklarieren ein Array mit den Zahlen 1 bis 4
.
Greifen Sie auf ein Array zu
Es gibt viele verschiedene Möglichkeiten, auf Daten in einem Array zuzugreifen. Beispielsweise können wir das gesamte Array drucken, über den Index auf ein einzelnes Element zugreifen oder mit einer Schleife nacheinander auf jedes Element zugreifen. Lassen Sie uns jede Methode einzeln erklären.
Greifen Sie auf das gesamte Array zu
Wir können die Befehle [*]
oder [@]
verwenden, um auf alle Werte zuzugreifen, die ein Array enthält. Lassen Sie uns zum Beispiel diese Befehle verwenden, um alle Werte im Array arr
zu drucken, das wir oben definiert haben.
arr=("black" "white" "red" "blue" "green")
echo "With *: ${arr[*]}"
echo "With @: ${arr[@]}"
Greifen Sie auf ein Element mit Index zu
Der Index des ersten Elements im Array ist 0
, und die Indizes der folgenden Elemente erhöhen sich sequentiell. Wir können auf das Element über die Indexnummer des Elements im Array zugreifen. Zum Beispiel verwenden wir den folgenden Bash-Code, um den Wert red
im Array arr
zu erhalten.
arr=("black" "white" "red" "blue" "green")
echo "${arr[2]}"
Zugriff auf Array-Elemente mit Schleife
Wir können die for
-Schleife verwenden, um nacheinander auf alle Elemente eines Arrays zuzugreifen. Unten ist das Bash-Skript, das jede Farbe im Array arr
auf dem Bildschirm ausgibt.
arr=("black" "white" "red" "blue" "green")
for color in ${arr[@]}; do
echo $color
done
Wenn wir auf diese Werte zusammen mit der Indexnummer zugreifen möchten, können wir den folgenden Code verwenden.
arr=("black" "white" "red" "blue" "green")
for i in ${!arr[@]}; do
echo "$i: ${arr[$i]}"
done
Der Befehl ${!arr[@]}
gibt die Indizes aller Werte im Array zurück. Dann wird unter Verwendung dieser Indizes auf das Element zugegriffen.
Neues Element zu einem Array hinzufügen
Um dem Array ein neues Element hinzuzufügen, können wir dem neuen Wert eine Indexnummer zuweisen oder den Operator +=
verwenden.
arr=("black" "white" "red" "blue" "green")
echo "Before adding purple: ${arr[@]}"
arr[5]="purple" # or use arr+=("purple"), exactly same
echo "After adding purple: ${arr[@]}"
Löschen Sie ein Element aus einem Array
Wir können den Befehl unset
verwenden, um alle Daten im Array zu löschen oder sogar das Array selbst vollständig zu löschen.
arr=("black" "white" "red" "blue" "green")
echo "Before removing white: ${arr[@]}"
unset arr[1]
echo "After removing white: ${arr[@]}"
Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.
LinkedIn