Wie kann ich in CentOS eine Umgebungsvariable dauerhaft setzen?


6

Ich habe im SSH-Terminal auf meinem Server folgenden Befehl verwendet:

export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib

und es funktioniert gut: mein Programm findet alle Bibliotheken an diesem Punkt (wenn ich es von meiner SSH-Befehlszeile aus starte).

Ein Kommando

env

zeigt, dass LD_LIBRARY_PATH richtig eingestellt ist.

Aber! Wenn ich meinen SSH-Client schließe und erneut eine Verbindung herstelle, ist kein LD_LIBRARY_PATH mehr festgelegt.

Wie setze ich unter CentOS ständig Umgebungsvariablen auf meinem Server? Vielen Dank.


Lösung: Sie sollten eine Datei .sh in /etc/profile.d mit Exportbefehl erstellen
— user3545570

Antworten:


4

Wie in Ihrer eigenen Antwort und der Antwort von @Fegnoid erwähnt, reicht es aus, die Variablen in eine .shDatei innerhalb /etc/profile.d/oder innerhalb von zu exportieren ~/.bash_profile. Beachten Sie, dass die Verwendung dieser Umgebungsvariablen in einem Dienstskript möglicherweise nicht wie erwartet funktioniert, da servicealle Umgebungsvariablen mit Ausnahme einiger weniger bereinigt werden.

Siehe https://unix.stackexchange.com/a/44378/148497 .


0

Exportieren Sie die Variablen in das ~ / .profile oder ~ / .bash_profile des Benutzers, um sie beim Anmelden so einzustellen, dass die Zeile lautet

LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH

1
Aber es ist derselbe Befehl, den ich verwendet habe. Nach dem erneuten Anschließen hat dies keine Auswirkung.
— user3545570

Haben Sie die Zeile in die oben aufgeführten Dateien eingegeben? und rettete sie
— Fegnoid

Ja, aber ich finde diese Variable nicht. Sollte ich den Server neu starten? Alternativ habe ich mit diesem Befehl .sh in /etc/profile.d erstellt und es hat funktioniert!
— user3545570

ja , das würde, aber es wird für jeden Benutzer es in Kraft gesetzt, ich habe eigentlich das, was Sie falsch eingeben müssen , und meine Antwort korrigiert - sorry
— Fegnoid
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.