shellscripts:arrays

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.

  • deklarieren:
    declare -a array
  • freigeben:
    unset array
for DATEI in *.PAR2
do
  	array1[$i]="$DATEI"
  	i=`expr $i + 1`
done
  • 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