shellscripts:arrays

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
shellscripts:arrays [2008/03/04 10:12] stshellscripts:arrays [2021/04/14 20:08] (aktuell) – [Arrays mit bash] st
Zeile 1: Zeile 1:
 +====== Arrays mit bash ======
 +Ein [[wpde>Array]] ist eine Datenstruktur in der Informatik. Sie besteht aus dem Feldnamen und dem Index.
 +
 +<file>
 +array[0]=hallo
 +array[1]=text
 +array[2]="noch mehr Text"
 +</file>
 +
 +Hier ist der Feldname (kreativerweise) array und der Index ist je nach Datensatz 0,1,2, ... .
 +
 +Bash unterstützt in aktuellen Versionen ((ab Version 3, in Version 4.3 sind Funktionen dazu gekommen. ksh kann ebenfalls Arrays, hier aber nicht betrachet)) eindimensionale Arrays. Mehrdimensionale Arrays werden nicht direkt unterstützt, [[http://stackoverflow.com/questions/16487258/how-to-declare-2d-array-in-bash|können aber simuliert werden]].
 +
 +===== Links =====
 +  * http://tldp.org/LDP/abs/html/arrays.html
 +
 +
 +===== Deklarieren und freigeben =====
 +  * deklarieren: <code bash>declare -a array</code>
 +  * freigeben: <code bash>unset array</code>
 +
 +
 +===== Dateiliste in Array einlesen =====
 +
 +<code bash>
 +for DATEI in *.PAR2
 +do
 +  array1[$i]="$DATEI"
 +  i=`expr $i + 1`
 +done
 +</code>
 +
 +===== Elemente anzeigen =====
 +  * Alle Elemente im Array anzeigen: <code bash> echo ${array[*]} </code>
 +    * zeilenweise: <code bash> for i in "${array[@]}"
 +  do
 +    echo "$i"
 +  done</code>
 +  * Anzeigen der Gesamtzahl von abgespeicherten Elementen: <code bash>echo "Gesamtanzahl der Elemente im Array:  ${array[@]}"</code>
 +  * ein bestimmten Element im Array: <code bash>echo "Erstes Element:  ${array[0]}"</code>