Ein Array ist eine Sammlung von Elementen. In Bash kann ein Array eine Mischung aus Elementen verschiedener Typen enthalten, z. Zeichenketten und Zahlen.
In diesem Tutorial besprechen wir, wie Arrays in Bash erstellt und verwendet werden. Wir werden auch Array-Operationen wie Schleifen, Drucken, Ermitteln der Größe und Ändern des Inhalts behandeln.
Wie man Arrays in Bash erstellt
Es gibt zwei Möglichkeiten, Bash-Arrays zu erstellen:
Verwenden des Schlüsselworts "declare"
declare -a my_bash_array
Dadurch wird ein indiziertes Array mit dem Namen „my_bash_array“ erstellt.
Initialisieren eines Arrays
Wir können Arrays auch spontan erstellen und initialisieren, indem wir den Zuweisungsoperator =
verwenden und die Elemente in geschweiften Klammern ()
:
my_bash_array=("apple" "orange" "banana")
Oder wir könnten den Index auch explizit angeben
my_bash_array[0]="apple"
my_bash_array[1]="orange"
my_bash_array[2]="banana"
Hinweis:Auf beiden Seiten des = dürfen keine Leerzeichen stehen Operator. Bash-Array-Länge
Um die Länge oder Größe eines Arrays zu erhalten, verwenden wir ${#array_name[@]}
.
Zum Beispiel:
my_bash_array=(foo bar baz)
echo "the array contains ${#my_bash_array[@]} elements"
#Output
the array contains 3 elements
Bash-Array-Schleife
Um alle Elemente in einem Bash-Array zu durchlaufen, können wir die for-Schleife verwenden:
#!/bin/bash
my_array=(foo bar baz)
# for loop that iterates over each element
for i in "${my_array[@]}"
do
echo $i
done
Ausgabe:
foo
bar
baz
Alle Elemente drucken
Um alle Elemente eines Arrays ohne Schleife auszugeben, können wir die folgende Syntax verwenden:
echo ${my_array[@]}
Hinzufügen von Elementen zu einem Array
Um Elemente zu einem Array hinzuzufügen, verwenden wir den +=
Operator. Dadurch wird ein Element an das Ende des Arrays angehängt.
Zum Beispiel:
my_array=(foo bar)
my_array+=(baz)
echo "${my_array[@]}"
foo bar baz
Oder wir können den Index verwenden, um ein Element hinzuzufügen:
my_array=(foo bar)
my_array[2]=baz
echo "${my_array[@]}"
foo bar baz
Elemente aus Array löschen
Um ein Element aus einem Bash-Array zu löschen, verwenden wir den unset
Befehl.
Zum Beispiel:
my_array=(foo bar baz)
unset my_array[1]
echo ${my_array[@]}
foo baz
Schlussfolgerung
In diesem Tutorial haben wir Bash-Arrays behandelt; wie man Arrays in Bash erstellt und initialisiert und wie man die Länge erhält, Elemente durchschleift, Elemente druckt und den Inhalt eines Arrays ändert.