Inhaltsverzeichnis
X=(eins zwei drei vier fuenf sechs sieben acht neuen)
komplettes Array ausgeben (einzeilig)
host: # echo ${X[*]} eins zwei drei vier fuenf sechs sieben acht neuen
oder
host: # echo ${X[@]} eins zwei drei vier fuenf sechs sieben acht neuen
komplettes Array ausgeben (pro Eintrag eine Zeile)
for (( i=0; i<${#X[@]}; i++ )) do echo "$i: ${X[$i]}" done
Ausgabe:
0: eins 1: zwei 2: drei 3: vier 4: fuenf 5: sechs 6: sieben 7: acht 8: neuen
Array rückwärts ausgeben
for (( i=${#X[@]}-1 ; i>=0 ; i-- )) do echo "${X[i]}" done
Länge eines Array-Eintrages ausgeben
host: # echo ${#X[7]} 5
Array Länge (Anzahl der Einträge) ausgeben
host: # echo ${#X[@]} 9
gezielt Bereiche eines Arrays ausgeben
ab Index 0, 3 Elemente
host: # echo ${X[@]:0:3} eins zwei drei
ab Index 2, 4 Elemente
host: # echo ${X[@]:2:4} drei vier fuenf sechs
ab Index 3 alle
host: # echo ${X[@]:3} vier fuenf sechs sieben acht neuen
letztes Array-Element ausgeben
echo ${X[${#X[@]} - 1]}
host: # X=(schwupp die wupp 234) host: # echo ${X[*]} schwupp die wupp 234 host: # host: # echo ${X[${#X[@]} - 1]} 234
Eintrag eines Arrays beschnitten ausgeben
host: # echo ${X[6]} sieben
host: # echo ${X[6]:0:5} siebe
host: # echo ${X[6]:2:4} eben
host: # echo ${X[6]:2:3} ebe
bei Array-Ausgabe String suchen und ersetzen
Achtung: nur die Ausgabe wird ersetzt, nicht der Array-Inhalt!
host: # echo ${X[@]/sieben/zwerge} eins zwei drei vier fuenf sechs zwerge acht neuen
Einträge an bestehendes Element anhängen
host: # X=(${X[@]} zehn elf) host: # echo ${X[*]} eins zwei drei vier fuenf sechs sieben acht neuen zehn elf
Array Element löschen
host: # X=(${X[@]/fuenf/}) host: # echo ${X[@]} host: # eins zwei drei vier sechs sieben acht neuen zehn elf
Array Elemente addieren
host: # X=(2 3 3 2 2 2 2 2 2)
for (( i=0; i<${#X[@]}; i++ )) do ((A=$A+${X[$i]})) done
host: # echo $A host: # 20