Ein Array ist eine Datenstruktur, mit der mehrere Werte unter einem einzigen Variablennamen gespeichert werden können.
In Bash sind Arrays sehr nützlich, wenn du mit mehreren Werten arbeiten möchtest, die miteinander zusammenhängen.
Anstatt viele einzelne Variablen zu erstellen, kannst du ein Array verwenden, um mehrere Werte effizient zu verwalten.
Arrays sind besonders praktisch, wenn:
Du mit einer Liste von Werten arbeitest (z. B. eine Liste von Benutzernamen, Dateinamen oder Zahlen).
Du auf mehrere Daten in einer einzigen Variablen zugreifen möchtest, um sie zu bearbeiten oder zu verarbeiten.
Du wiederkehrende Aufgaben mit einer Sammlung von ähnlichen Elementen erledigen musst.
In Bash gibt es zwei Arten von Arrays:
Normale Arrays: Verwendet numerische Indizes (z. B. 0, 1, 2).
Assoziative Arrays: Verwendet benutzerdefinierte Schlüssel statt numerischer Indizes (z. B. „Name“, „Alter“).
Arrays in Bash können mit runden Klammern () erstellt werden, wobei die einzelnen Elemente durch Leerzeichen getrennt sind. Hier ist ein Beispiel:
# Array erstellen und Werte hinzufügen mein_array=("Apfel" "Banane" "Kirsche") # Zugriff auf ein Element echo ${mein_array[0]} # Gibt "Apfel" aus Beispiel für ein assoziatives Array: # Assoziatives Array deklarieren declare -A mein_assoziatives_array # Werte zuweisen mein_assoziatives_array["Name"]="John" mein_assoziatives_array["Alter"]=30 # Zugriff auf ein Element echo ${mein_assoziatives_array["Name"]} # Gibt "John" aus
Du kannst ein Element zu einem Array hinzufügen, indem du den Index angibst. Bei einem normalen Array wird der Index automatisch inkrementiert, wenn du das +=-Symbol verwendest.
# Ein neues Element ans Ende des Arrays hinzufügen mein_array+=("Orange") # Zugriff auf alle Elemente echo ${mein_array[@]} # Gibt "Apfel Banane Kirsche Orange" aus Beispiel für ein assoziatives Array: # Neues Element zum assoziativen Array hinzufügen mein_assoziatives_array["Stadt"]="Berlin" # Zugriff auf das neue Element echo ${mein_assoziatives_array["Stadt"]} # Gibt "Berlin" aus
Um ein Element aus einem Array zu entfernen, kannst du den unset-Befehl verwenden. Dieser entfernt das Element basierend auf dem Index oder Schlüssel.
# Ein Element aus dem Array entfernen unset mein_array[1] # Entfernt "Banane" # Alle Elemente anzeigen echo ${mein_array[@]} # Gibt "Apfel Kirsche Orange" aus Beispiel für ein assoziatives Array: # Ein Element aus dem assoziativen Array entfernen unset mein_assoziatives_array["Alter"] # Überprüfen, ob das Element entfernt wurde echo ${mein_assoziatives_array["Alter"]} # Gibt nichts aus
Um die Anzahl der Elemente in einem Array zu ermitteln, kannst du die ${#array[@]}-Syntax verwenden.
# Anzahl der Elemente im Array ermitteln echo ${#mein_array[@]} # Gibt "3" aus (Anzahl der Elemente: Apfel, Kirsche, Orange) # Anzahl der Elemente im assoziativen Array ermitteln echo ${#mein_assoziatives_array[@]} # Gibt "3" aus (Name, Alter, Stadt)
Du kannst ein einzelnes Element eines Arrays anzeigen, indem du den Index (bei normalen Arrays) oder den Schlüssel (bei assoziativen Arrays) angibst.
# Zeige das erste Element des Arrays an echo ${mein_array[0]} # Gibt "Apfel" aus # Zeige ein einzelnes Element des assoziativen Arrays an echo ${mein_assoziatives_array["Name"]} # Gibt "John" aus
Um alle Elemente eines Arrays anzuzeigen, kannst du ${array[@]} verwenden.
# Alle Elemente des Arrays anzeigen echo ${mein_array[@]} # Gibt "Apfel Kirsche Orange" aus # Alle Elemente des assoziativen Arrays anzeigen echo ${mein_assoziatives_array[@]} # Gibt "John 30 Berlin" aus
Arrays sind eine grundlegende und leistungsfähige Funktion in Bash, die es dir ermöglicht, mit Gruppen von Daten effizient zu arbeiten. Du kannst Arrays erstellen, modifizieren, auf ihre Elemente zugreifen und sie sogar mit benutzerdefinierten Schlüsseln verwalten. Sie sind besonders nützlich bei der Automatisierung und Skriptprogrammierung.