Heiko Schlittermann heiko@schlittermann.de writes:
On Mon, Nov 03, 2003 at 02:04:30PM +0100, Stefan Seyfried wrote:
ich bin mir ziemlich sicher, daß der '|while...done'-Teil in einer subshell ausgeführt wird.
Da magst Du nicht unrecht haben. Kann man das prüfen?
sh -x und auf die Anzahl der '+' am Zeilenanfang achten :-)
Fakt ist jedenfalls, daß innerhalb der Schleife exportierte Variablen hinterher nicht mehr existieren.
Das spricht für die subshell
(Was m.W. bei der Korn-Shell anders ist.)
Ich habe zum glück irgendwann aufgegeben, mich mit Einzelheiten und Besonderheiten der einzelnen Shell-Dialekte rumzuärgern und für mich selbst beschlossen, daß alles, was länger als 3 Zeilen ist, in perl zu erledigen ist :-) Und dort prüfe ich mein Gewissen ausgiebig, bevor ich ein externes Kommando aufrufe, schliesslich ist ja alles, was man aus einer Shell raus normalerweise so aufruft (sed, awk, grep,...) sowieso schon eingebaut :-))
Gruss,
Stefan