On Fri, Jan 11, 2002 at 09:52:54AM +0100, Heiko Schlittermann wrote:
On Fri, Jan 11, 2002 at 09:28:59AM +0100, Eric Schaefer wrote:
man fork Die Kinder erben die Umgebung der Eltern. Sonst w�re es auch sinnfrei irgendwelche Variablen zu setzen, die dann nur die Shell selbst auswerten kann.
??
Nach dem Fork haben beide das selbe Datensegment, also auch gleiche Umgebung (bis copy-on-write, dann sinds nicht mehr die selben Datensegment, aber fast die gleichen Inhalte).
Aber ich w�rde mal unterstellen, da� nach einem anschlie�enden exec() (f�r das stty), dann nur noch die exportierten Variablen (eben die Umgebung) da sind.
Man m�ge mich berichtigen. Ich bin weder Informatiker noch habe ich das alles eben nochmal verifiziert, es ist nur Glauben und Halbwissen ;-)
Ohne das jetzt nachzuschlagen:
In der Shell gebe ich ein: "mutt", die Shell macht ein fork() und im Enkelprozess wird ein exec("mutt") gemacht. Mutt wertet $EDITOR aus. Wenn ich nun selbiges l�sche und (bash) nur per "EDITOR=emacs" die Variable wieder setze ist die doch NICHT exportiert, oder? Aufruf von mutt und schreiben einer Mail ergibt: emacs wird gestartet (ansonsten mit gel�schter EDITOR Variable: "vi". Alles andere w�re ja auch Quark. Das exportieren ist doch IMHO nur daf�r da, da�diese Variablen vom kind an den Parent zur�ckgegeben werden (sonst k�nnte man in Skripen wie .bashrc auch keine Variablen sinnvoll setzen...)
Gru�, Eric