Hallo Liste ich habe einen Einzeiler, als script, über Kinternet gestartet um die Variable PROVIDER aus zugeben: /bin/echo $USER $PROVIDER >> /tmp/pppusage leider wird nur der user in die Datei geschrieben. Hat die Variable einen beschränkten Geltungsbereich? Gruß und Dank Michael
* Michael Hoeller schrieb am 11.Dez.2002:
ich habe einen Einzeiler, als script, über Kinternet gestartet um die Variable PROVIDER aus zugeben:
/bin/echo $USER $PROVIDER >> /tmp/pppusage
leider wird nur der user in die Datei geschrieben. Hat die Variable einen beschränkten Geltungsbereich?
Tja, wenn Du nicht sagst wie und wo, kann ich Dir auch kaum helfen. Grundsätzlich muß Du zwischen z.B bash-Variable und Umgebungsvariable (Enviroment-Variable) unterscheiden. Die bash Variable gilt nur für dieses Programm. Die Umgebungsvariable wird vom Kernel verwaltet und gilt auch für sämtliche Kind und Kindeskind Prozesse, die *nach* der Erzeugung der Variable gestartet werden. Und zwar auch nur mit dem da aktuellen Inhalt. Genauer: Das Enviroment gehört zu den Prozeßdaten. Wenn ein Prozeß einen neuen Prozeß erzeugt, und diesen mit was anderem belegt, so bleibt das Enviroment erhalten. Der neue Prozeß kann darauf zugreifen. Allerdings bekommt es Veränderungen, die der Elterprozeß danach an den Variablen begeht nicht mit. Umgekehrt bekommt auch der Elterprozeß keine Veränderungen des Kinprozesses mit. Generell ist es nicht möglich, daß Prozesse, anders als durch Vererbung, über Variable miteinander kommunizieren. Kommunizieren können Prozesse nur über Signale, Semaphore, Pipes und Shared Memory. Siehe hierzu man signal, man semctl, man pipe und man shmget. Aber das sind Systemaufrufe und keine bash-Kommandos. Die Systemaufrufe kannst Du z.B innerhalb eines C-Programms machen. Du machst in der bash eine Variable zu einer Enviromentvariable, indem du sie mit export exportierst. VAR=Wert export VAR oder kurz: export VAR=Wert Bernd -- Bitte die Etikette beachten: http://www.suse-etikette.de.vu/etikette.html Bitte Realnamen angeben, kein Vollquoting, kein Html, PGP oder Visitenkarten benutzen. Signatur mit "-- " abtrennen, bei Antworten "Re: " voranstellen, sonst nichts. |Zufallssignatur 4
participants (2)
-
B.Brodesser@t-online.de
-
MichaelHoeller@t-online.de