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

Re: punkte zählen



Hallo Juergen,

Juergen Christoffel <jc@unser.net> wrote:
> Eine Bourne-Shell beachtet IFS beim Parsen von mittels "read" gelesenem
> Input, ebenso beim Parsen des Outputs einer "Command Substitution" (also
> Backquotes bzw. $(...) in der modernen Form) und bei der Substitution von
> Variablen. Und die rechte Seite bei Zuweisungen wird nach den Regeln der
> Variablensubstitution ausgewertet.
>
> Einmal eine klassische Bourne-Shell:
>
>   $ IFS=. A="foo.bar.baz"
>   $ for w in $A ; do echo $w; done

Das habe ich auch erwartet. Aber in dem anderen Fall sah der Befehl so aus:
IFS=. A=(foo.bar.baz)

Für mein Verständnis ist der zweite Teil (A=...) kein Kommando sondern
eine Variablenzuweisung. Die Shell wird also für die Zeile erst die
ganzen Expansionen ausführen und dann den Befehl auswerten. Dabei hat IFS
nicht den alten werden, da erst der Befehl den Wert umsetzt. Daher kann
meiner Meinung nach auch noch nicht der Trenner . bei der Zuweisung von A
greifen. Andernfalls müsste auch "IFS=. set $A" funktionieren, was es bei
mir nicht tut.

Schöne Grüße, Jörg.
-- 
Die am Lautesten reden, haben stets am wenigsten zu sagen.



Reply to: