Arrays mit bash
Ein Array ist eine Datenstruktur in der Informatik. Sie besteht aus dem Feldnamen und dem Index.
array[0]=hallo array[1]=text array[2]="noch mehr Text"
Hier ist der Feldname (kreativerweise) array und der Index ist je nach Datensatz 0,1,2, … .
Bash unterstützt in aktuellen Versionen 1) eindimensionale Arrays. Mehrdimensionale Arrays werden nicht direkt unterstützt, können aber simuliert werden.
Links
Deklarieren und freigeben
- deklarieren:
declare -a array
- freigeben:
unset array
Dateiliste in Array einlesen
for DATEI in *.PAR2 do array1[$i]="$DATEI" i=`expr $i + 1` done
Elemente anzeigen
- Alle Elemente im Array anzeigen (Inhalte):
echo ${array[*]}
- zeilenweise:
for i in "${array[@]}" do echo "$i" done
- Anzeigen der Gesamtzahl von abgespeicherten Elementen:
echo "Gesamtanzahl der Elemente im Array: ${#array[@]}"
- ein bestimmten Element im Array:
echo "Erstes Element: ${array[0]}"
1)
ab Version 3, in Version 4.3 sind Funktionen dazu gekommen. ksh kann ebenfalls Arrays, hier aber nicht betrachet