[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bash Array und leere Strings



Am 28.03.24 um 18:42 schrieb Joachim H.:

Am 28.03.24 um 18:00 schrieb Ulf Volmer:
Vermutlich kommst Du der Lösung näher, wenn Du die Ausgabe von

echo ${Arr[@]}
und
echo "${Arr[@]}"

vergleichst.


ööhm, nicht wirklich!


 Ja, da gibt es einen Unterschied in der Ausgabe, mir erschließt sich
aber trotzdem nicht, warum ein "leerer" Array-Eintrag nicht in der
for-Schleife berücksichtigt wird. In dem oben erstgenannten echo hat das
Array auch zwei Einträge. Ein leerer Strings ist ja nicht Nichts (null),
sondern ein String der Länge 0. Dann müsste doch auch ein String der
Länge 0 zurückgegeben werden.


Ich sehe jetzt, dass das mit dem Mechanismus des Expandierens in der
Bash zu tun hat. Aber das Thema führt bei mir immer zu Kopfweh. Rein
intuitiv hätte ich das Verhalten eher andersrum erwartet.


Ja. Die Shell expandiert hier Dein Array und macht dann word splitting.

Das Kopfweh kann ich nachvollziehen. Für komplexere Daten halte ich die Shell auch für das falsche Tool.


Viele Grüße

Ulf



Reply to: