Ich habe kürzlich herausgefunden /etc/environment
, dass dies eine Standardmethode zum Einrichten einfacher Umgebungsvariablen ist als Skripts, aber ich habe mich gefragt, ob es eine Möglichkeit gibt, Umgebungsvariablen in der Datei / etc / environment zu referenzieren.
Das heißt, ich habe folgendes:
JAVA_HOME="/tools/java"
GRAILS_HOME="/tools/grails"
GROOVY_HOME="/tools/groovy"
GRADLE_HOME="/tools/gradle"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
Wenn ich jedoch versuche, $JAVA_HOME/bin
der PATH-Definition etwas hinzuzufügen , erhalte ich $ JAVA_HOME / bin und nicht die interpolierte Variable. Um dies zu beheben, erstelle ich die Datei environment.sh in profile.d, um die /bin
Einträge zum Pfad hinzuzufügen , aber dies scheint schlampig und unorganisiert zu sein.
Gibt es eine Möglichkeit, die Umgebungsvariablen in / etc / environment zu referenzieren?
quelle
/etc/environment
, auf die ich zurückgegriffen habe/etc/profile
, danke für Ihren Vorschlag.Die Ubuntu-Dokumentation lässt dies unmöglich erscheinen. ABER es gibt eine Antwort.
ANTWORT : Erstellen Sie persistente, systemweite Umgebungsvariablen in
/etc/.bashrc
Details:
Hier finden Sie weitere Details aus der Dokumentation zu Umgebungsvariablen .
Die offizielle Empfehlung ist zu verwenden
/etc/environment
, wie Sie es versucht haben. Das Problem ist, dass diese Datei keine Skriptdatei ist. Mit anderen Worten, Sie können in Variablendeklarationen keine Variablen verwenden.Die Dokumentation wird mit 2 anderen "Nicht empfohlen" -Dateien
/etc/profile
und fortgesetzt/etc/bash.bashrc
./etc/profile
msgstr "ruft nur die Datei /etc/bash.bashrc auf". Also wählen Sie stattdessen/etc/bash.bashrc
weil "Ubuntu ist standardmäßig so konfiguriert, dass diese Datei ausgeführt wird, wenn ein Benutzer eine Shell oder die Desktop-Umgebung betritt."quelle