Hallo folgendes Konstrukt : Arr=("" "eins") echo ${#Arr[@]} for A in ${Arr[@]}; do echo $A done Warum wird der Fall des A als leerer String hier übergangen? Es wird korrekt ermittelt, dass Arr zwei Einträge hat, ich erhalte aber nur eine Ausgabe. Mit Arr=("" "eins") echo ${#Arr[@]} for I in ${!Arr[@]}; do A=${Arr[$I]} echo $A done klappt's auch mit dem leeren String "". Ich verstehe den Sinn nicht darin, den Leerstring im ersten Beispiel zu ignorieren.