* Daniel Brachmann schrieb am 30.Nov.2000:
Daniel Heemann schrieb:
Am Donnerstag, 30. November 2000 03:29 schrieben Sie:
Wer ist Sie?
ich möchte mittels Perl-Skript eine Umgebungsvariable mittels $ENV{UMGEBUNGSVARIABLE} = "Wert"; setzen. Wenn ich dann aber in der Shell echo $UMGEBUNGSVARIABLE ausführe wird mir kein Wert angezeigt.
Kann mir jmd. sagen wie's funktioniert?
[...]
(dieses Skript gibt alle Umgebungsvariablen aus) wird meine $UMGEBUNGSVARIABLE mit dem Wert Wert aufgezeigt, der Wert bleibt also nur so lange bestehen, wie das Skript läuft.
Genauso ist es und da gibt es auch nichts dran zu drehen.
Das ist ganz normal und gehört sich so. Du kannst Umgebungsvariablen nur für die aktuelle shell (in dem fall dein Perl-skript) und für sub-shells die aus dieser shell aufgerufen werden setzen.
ACK.
IIRC hatten wir so einen ähnlichen thread schonmal in der Liste und damals hatten wir glaube ich auch eine Lösung dafür wie es dennoch geht.
Nein, es kann nicht gehen, weder mit perl noch mit einer Shell oder mit einem C-Programm, Java, C++ oder meinetwegen Assambler. Die einzige Chance, die Du hättest wäre den Kernel umzuschreiben. ;)) Was Du meinst ist eine shell mit einem . aufzurufen. Dann aber wird keine neue Shell aufgerufen, sondern die aktuelle shell, die gerade Deine Eingaben interaktiv bearbeitet, hört auf interaktiv zu sein und führt stattdessen dieses Skript aus. Hat man z.B eine Loginshell und in dem Skript wird ein exit erreicht, so ist man dann ausgeloggt. ;) Aber wie willst Du das mit einem perlskript verwirklichen? Die shell kann kein Perlskript interpretieren. Bernd -- ACK = ACKnowledge = Zustimmung | NAC = No ACknowledge = keine Zustimmung DAU = Dümmster Anzunehmender User | LOL = Laughing Out Loud = Lautes Lachen IIRC = If I Remember Correctly = Falls ich mich richtig erinnere OT = Off Topic = Am Thema (der Liste) vorbei |Zufallssignatur 11 --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com