Grzegorz Żurs Antwort auf eine andere Frage fängt sie brillant ein. Leider war es unter vielen anderen Antworten versteckt.
Es gibt mehrere Möglichkeiten, dies zu tun. Die tatsächliche Lösung hängt vom Verwendungszweck ab.
Die Variablenwerte werden normalerweise entweder in einer Liste von Zuweisungen oder in einem Shell-Skript gespeichert, das beim Start des Systems oder der Benutzersitzung ausgeführt wird. Im Fall des Shell-Skripts müssen Sie eine bestimmte Shell-Syntax verwenden.
Systemweit
/etc/environment
Liste der eindeutigen Zuordnungen. Perfekt zum Hinzufügen von systemweiten Verzeichnissen wie/usr/local/something/bin
bisPATH
Variable oder Definition vonJAVA_HOME
./etc/xprofile
Shell-Skript, das beim Starten der X Window System-Sitzung ausgeführt wird. Dies wird für jeden Benutzer ausgeführt, der sich bei X WindowSystem anmeldet. Es ist eine gute Wahl fürPATH
Einträge, die für jeden Benutzer gültig sind, wie/usr/local/something/bin
. Die Datei wird von einem anderen Skript eingebunden, verwenden Sie also die POSIX-Shell-Syntax und nicht die Syntax Ihrer Benutzer-Shell./etc/profile
und/etc/profile.d/*
Shell-Skript. Dies ist eine gute Wahl für Nur-Shell-Systeme. Diese Dateien werden nur von Shells gelesen./etc/<shell>.<shell>rc
. Shell-Skript. Dies ist eine schlechte Wahl, da es spezifisch für einzelne Shells ist.
Auch /etc/environment
ist keine Skriptdatei, sondern besteht aus Zuweisungsausdrücken, einer pro Zeile. Da diese Datei die systemweiten Gebietsschema- und Pfadeinstellungen speichert, wird sie am häufigsten in Anführungszeichen gesetzt. Verwenden Sie /etc/profile
wird nicht bevorzugt. Es existiert nur, um auf /etc/bash.bashrc
zu zeigen und Einträge von /etc/profile.d
zu sammeln
Benutzersitzung
~/.pam_environment
. Liste der eindeutigen Zuordnungen. Wird von PAM zu Beginn jeder Benutzersitzung geladen, unabhängig davon, ob es sich um eine XWindow-Systemsitzung oder -Shell handelt. Sie können nicht auf andere Variablen verweisen, einschließlichHOME
oderPATH
daher ist es nur begrenzt nutzbar.~/.xprofile
Shell-Skript. Dies wird ausgeführt, wenn sich der Benutzer beim X Window System-System anmeldet. Die hier definierten Variablen sind für jede X-Anwendung sichtbar. Perfekte Wahl zur Erweiterung vonPATH
mit Werten wie~/bin
oder~/go/bin
oder benutzerspezifischesGOPATH
definieren oderNPM_HOME
. Die Datei wird von einem anderen Skript eingebunden, verwenden Sie also die POSIX-Shellsyntax und nicht die Syntax Ihrer Benutzer-Shell. Ihr grafischer Texteditor oder Ihre per Shortcut gestartete IDE wird diese Werte sehen.~/.profile
Shell-Skript. Es ist nur für Programme sichtbar, die vom Terminal oder Terminal-Emulator gestartet werden. Es ist eine gute Wahl für reine Shell-Systeme.~/.<shell>rc
. Shell-Skript. Dies ist eine schlechte Wahl, da es spezifisch für einzelne Shells ist.
Für vorübergehende Änderungen:
~$ export PATH=$PATH:~/root/scripts
Zur dauerhaften Änderung können Sie diese Zeile zum /etc/environment
hinzufügen Datei wie folgt:
PATH=$PATH:~/root/scripts