Bash: Arrays
Anlegen eines Arrays
Anlegen eines leeren Arrays
Anlegen eines vorbelegten Arrays
Werte an ein Array anhängen
Zugriff auf ein Element mit Index
Das erste Element in einem Bash Array hat den Index 0.
Einer Wert mit Index setzen
Was ist der Wert vom Element mit dem nicht belegtem Index 4 ? Da dem Array mit dem Index 4 noch kein Wert zugewiesen wurde, wird der Ausdruck ${array[4]} zu einem Leerstring expandiertLänge eines Arrays
Array kopieren
Array konkatenieren
Teilbereich (von/bis) eines Arrays ausgeben
Es werden die Werte mit dem Index 1-3 ausgegeben. Der erste Wert (1) gibt an, ab welchem Index die Ausgabe bebinnt und der zweite Wert (4) gibt den ersten Index an, dessen Wert nicht mehr ausgegeben werden soll.Ausgabe des gesamten Arrays
Werte bei der Ausgabe ersetzen
Dieser Ausdruck gibt alle Werte des Array aus. Dabei wird der String "wert" durch den String "value" ersetzt.Iteration über ein Array
Prüfen, ob ein Wert im Array enthalten ist
Prüfen, ob ein Wert nicht im Array enthalten ist
if [[ ! " ${array[@]} " =~ " wertNONE " ]]
then
echo "der Wert wertNone ist im Array array NICHT enthalten"
fi
Löschen eines Elementes aus einem Array
Löschen eines Arrays
unset array
Zeilenweises Einlesen einer Datei in ein Array
Diesen Code habe ich in der BashFAQ/005 im Kapitel "2.1. Loading lines from a file or stream" gefunden.
mapfile -t array < ./tmp.txt
echo "Anzahl gelesener Zeilen: \${#array[@]}: ${#array[@]}"
for line in "${array[@]}"
do
echo ">>>>> ${line}"
done
Ein Skript, dass alle hier beschriebene Operationen ausführt, findet man hier: bash_arrays.bash
Letztes Update:
2022-01-28