Wenn ich in ein Terminal tippe,
export DISPLAY=:0.0
... wo speichert die Shell diese Umgebungsvariable?
Ich benutze Ubuntu 8.10. Ich habe in den Dateien ~ / .profile und / etc / profile nachgesehen und kann keine Spur von DISPLAY finden.
linux
environment-variables
Ben L.
quelle
quelle
Antworten:
Die Umgebungsvariablen eines Prozesses sind zur Laufzeit vorhanden und werden in keiner Datei oder so gespeichert. Sie werden im eigenen Speicher des Prozesses gespeichert (dort werden sie an Kinder weitergegeben). Es befindet sich jedoch eine virtuelle Datei in
Diese Datei zeigt alle Umgebungsvariablen an, die beim Aufrufen des Prozesses übergeben wurden (es sei denn, der Prozess hat diesen Teil seines Speichers überschrieben - die meisten Programme tun dies nicht). Der Kernel macht sie durch diese virtuelle Datei sichtbar. Man kann sie auflisten. Zum Beispiel kann man die Variablen des Prozesses 3940 anzeigen
Jede Variable wird durch eine binäre Null von der nächsten begrenzt. tr ersetzt die Null in eine neue Zeile.
quelle
environ
Datei die falschen Werte dar, wenn eine Umgebungsvariable auf definierte Weise geändert wurde? Können Sie vielleicht ein Programm zeigen, das das ausnutzt?Geben Sie "set" ein und Sie erhalten eine Liste aller aktuellen Variablen. Wenn Sie möchten, dass etwas bestehen bleibt, geben Sie es in ~ / .bashrc oder ~ / .bash_profile ein (wenn Sie bash verwenden).
quelle
Wenn Sie die Umgebung systemweit nutzen möchten, können Sie dies mit
/etc/environment
Datei tun .quelle
Es wird im Prozess (Shell) gespeichert, und seit Sie es exportiert haben, werden alle Prozesse, die verarbeitet werden, erzeugt.
Wenn Sie dies tun, wird es nirgendwo im Dateisystem wie / etc / profile gespeichert. Sie müssen es explizit dort platzieren, damit dies geschieht.
quelle
Diese Variable ist in keinem Skript gespeichert. Es wird einfach durch die X-Server-Skripte festgelegt. Sie können die aktuell eingestellten Umgebungsvariablen mit set überprüfen .
quelle