Re: Bash-Script: Denkfehler, aber wo?
Am Mittwoch, den 27.07.2005, 01:17 +0200 schrieb Werner Mahr:
> Am Dienstag, 26. Juli 2005 23:24 schrieb Frank Küster:
> > Werner Mahr <werner@vollstreckernet.de> wrote:
> > > Am Dienstag, 26. Juli 2005 21:42 schrieb Christoph Conrad:
> > >> Hallo Michelle,
> > >>
> > >> > Weil eine neue Sub-Shell geöffnet und die $INCLUDES nicht
> > >> > rückwärts exportiert wird.
> > >>
> > >> Tja - und wie geht es?
> > >
> > > Da hier was von variablen exportieren steht, würde ich es erstmal
> > > mit export probieren, und dann fragen.
> >
> > Wenn innerhalb der while-Schleife wirklich eine Subshell aufgemacht
> > wird, dann kann das nichts helfen. Denn export sorgt nur dafür, dass
> > die Variable an Kindprozesse vererbt wird. An Eltern kann man nichts
> > vererben, selbst wenn man vorher stirbt - anders als im richtigen
> > Leben.
>
> Ich hätte es vielleicht auch selbst erstmal testen sollen. Wie sieht es
> aus, wenn man die Variable vor der Schleife definiert. Kann man dann da
> rein schreiben?
Ich gehe davon aus, du willst die Variable definieren und exportieren,
damit du sie in der Schleife benutzen kannst.
Das kannst Du zwar machen, aber wenn du in der Schleife die Werte
änderst kommt das nicht wieder mit zurück.
Grund:
Mit export wird die Variable so wie das Environment an den Kindprozess
vererbt. Allerdings ist das eine _Kopie!!!_ des Environments! Das heist,
du änderst nur die Kopie, und alles das verfällt nach beenden der
Schleife, die Oginalvariable ist noch so belegt wie vor der Schleife.
--
Peter Küchler
Planungsverband Ballungsraum
Frankfurt / Rhein-Main
Poststraße 16
60329 Frankfurt am Main
Tel.: +49 69 2577-1301
Fax : +49 69 2577-41301
E-Mail: peter.kuechler@planungsverband.de
www.planungsverband.de
Reply to: