Wo sollte die PATH
Umgebungsvariable am besten festgelegt werden?
~/.profile
oder /etc/environment
?
Was ist der Fall, wenn PATH
an beiden Stellen festgelegt ist? Ist das Endergebnis eine Verkettung der beiden an diesen beiden Stellen festgelegten Werte?
Antwort1
Zusammenfassung:
/your/additional/path
Wenn Sie Ihrer Variable einen Pfad (z. B. ) nur für Ihren aktuellen Benutzer und nicht für alle Benutzer Ihres Computers hinzufügen möchtenPATH
, fügen Sie ihn normalerweise am Ende ein,~/.profile
wie in einem dieser beiden Beispiele:PATH="/your/additional/path:$PATH" PATH="$PATH:/your/additional/path"
Beachten Sie, dass die Pfadprioritäten von links nach rechts absteigend sind, sodass der erste Pfad die höchste Priorität hat. Wenn Sie Ihren Pfad links von hinzufügen
$PATH
, hat er die höchste Priorität und ausführbare Dateien an diesem Speicherort überschreiben alle anderen. Wenn Sie Ihren Pfad rechts hinzufügen, hat er die niedrigste Priorität und ausführbare Dateien von den anderen Speicherorten werden bevorzugt.Wenn Sie diese Umgebungsvariable jedoch für alle Benutzer festlegen müssen, würde ich dennoch nicht empfehlen, sie zu berühren,
/etc/environment
sondern eine Datei mit der Endung in zu erstellen.sh
./etc/profile.d/
Das/etc/profile
Skript und alle Skripte in/etc/profile.d
sind das globale Äquivalent der persönlichen Umgebung jedes Benutzers~/.profile
und werden von allen Shells während ihrer Initialisierung als normale Shell-Skripte ausgeführt.
Mehr Details:
/etc/environment
ist eine systemweite Konfigurationsdatei, die von allen Benutzern verwendet wird. Sie gehörtroot
jedoch allen Benutzern, Sie müssen also Administrator sein und sie verwenden,sudo
um sie zu ändern.~/.profile
ist eines der persönlichen Shell-Initialisierungsskripte Ihres Benutzers. Jeder Benutzer hat eines und kann seine Datei bearbeiten, ohne andere zu beeinträchtigen./etc/profile
und/etc/profile.d/*.sh
sind die globalen Initialisierungsskripte, die~/.profile
für jeden Benutzer gleichwertig sind. Die globalen Skripte werden jedoch vor den benutzerspezifischen Skripten ausgeführt; und das Hauptskript/etc/profile
führt alle*.sh
Skripte aus/etc/profile.d/
, unmittelbar bevor es beendet wird.
Die
/etc/environment
Datei enthält normalerweise nur diese Zeile:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
Es setzt die
PATH
Variable für alle Benutzer des Systems auf diesen Standardwert, der nicht wesentlich geändert werden sollte. Zumindest sollten Sie keine der wichtigen Pfade wie/bin
,/sbin
,/usr/bin
und/usr/sbin
daraus entfernen.Diese Datei wird als eine der ersten Konfigurationsdateien von jeder Shell jedes Benutzers gelesen. Beachten Sie, dass siekein Shell-Skript. Es ist nur eine Konfigurationsdatei, die irgendwie analysiert wird und die nur Zuweisungen von Umgebungsvariablen enthalten darf!
Die
~/.profile
Datei kann viele Dinge enthalten, standardmäßig enthält sie unter anderem eine Prüfung, ob ein~/bin
Verzeichnis existiert und fügt dieses der vorhandenenPATH
Variable des Benutzers hinzu, wie folgt (auf älteren Ubuntu-Versionen vor 16.04 – die es bedingungslos hinzufügt – und auf 18.04, die auch „~/.local/bin“ hinzufügt):# set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi
Man sieht, dass hier der alte Wert
PATH
wiederverwendet wird und der neue Pfad nur an den Anfang angehängt wird, statt alles zu überschreiben. Wenn man manuell neue Pfade hinzufügen möchte, sollte man den alten$PATH
Wert auch immer irgendwo im neuen String belassen.Dieses Initialisierungsskript kann nur von den Shells des Benutzers gelesen werden, zu dem es gehört, es gibt jedoch eine weitere Bedingung:
# ~/.profile: executed by the command interpreter for login shells. # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login # exists.
Wenn Sie also die Standard-Bash-Shell verwenden, sollten Sie sicherstellen, dass Sie kein haben
~/.bash_profile
oder~/.bash_login
wenn Sie möchten, dass die Änderungen~/.profile
für Ihren Benutzer Auswirkungen haben.
Umfassende Informationen zu Umgebungsvariablen finden Sie unter: https://help.ubuntu.com/community/EnvironmentVariables
Verwandte Frage:Unterschied zwischen bash.bashrc und /etc/environment-Datei
Antwort2
Bei dieser Antwort geht es vor allem umdie Reihenfolge, in der Umgebungsvariablen wie
PATH
zugewiesen werdenwenn sie in verschiedenen Konfigurationsdateien angegeben werden. Ich beschreibe auch, wo Sie sie normalerweise festlegen sollten, aber die folgende Liste listet die Dateien nicht in der Reihenfolge auf, in der Sie sie verwenden sollten. Für allgemeine Informationen zum FestlegenPATH
und anderen Umgebungsvariablen in Ubuntu empfehle ich außerdem das Lesen vonUmgebungsvariablenund die anderen Antworten auf diese Frage.
Der bevorzugte Standort PATH
hängt ab vonwelche BenutzerSie müssen es einstellen undwann und wieSie möchten, dass es festgelegt wird. Sie müssen unter anderem entscheiden, ob Sie eine Umgebungsvariable für alle Benutzer oder für jeden einzelnen Benutzer festlegen möchten. Wenn Sie sich nicht sicher sind, empfehle ich, sie nur für einen Benutzer (z. B. Ihr Konto) und nicht systemweit festzulegen.
AlsAlexP sagt, PATH
hat die Umgebungsvariable den Wert, den sieZuletzt zugewiesen. In der Praxis,am meistender von Ihnen eingestellten Zeit PATH
, schließen Sie diealtWert von PATH
in den neuen Wert, so dass die bisherigen Einträge erhalten bleiben.
Wenn also in der Praxis PATH
aus mehreren Dateien gesetzt wird, enthält es normalerweise die Einträge aller Dateien. Aber das passiert nur, weil alle Dateien, die es setzen, außer der ersten, normalerweise auf die PATH
Variable selbst verweisen, wodurch ihr alter Wert in den neuen aufgenommen wird.
Sie fragen also tatsächlich nach der Reihenfolge, in der PATH
Einstellungen in verschiedenen Dateien wirksam werden.
Nachfolgend sind die üblichen, allgemein zu setzenden Orte PATH
in der Reihenfolge aufgeführt, in der sie wirksam werden, wenn sich ein Benutzer anmeldet.nichtin der Reihenfolge, in der Sie sie normalerweise verwenden solltenJeder der unten aufgeführten Orte ist eine sinnvolle Wahl für die EinrichtungPATH
InmancheSituationen, aber meistens sind nur wenige eine gute Wahl.
In der Liste unten sehen Sie einige Verzeichnisnamen wie ~/.profile
. Falls Sie nicht vertraut sind mitTilde-Erweiterung, ~/
bezieht sich auf das Home-Verzeichnis des aktuellen Benutzers. Ich verwende diese Syntax hauptsächlich aus Kompaktheitsgründen. Sie wird in Shell-Skripten unterstützt, abernichtin PAM-Konfigurationsdateien.
1. Für alle Benutzer:/etc/environment
PAMunter Ubuntu bewirkt, dass die in aufgeführten Umgebungsvariablen /etc/environment
gesetzt werden, wenn diese Datei existiert, was standardmäßig der Fall ist. So werden Umgebungsvariablen für alle Benutzer am häufigsten gesetzt.
$ cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
Wenn Sie Umgebungsvariablen festlegen müssen füralleBenutzerkonten, und nicht nur Ihr Benutzerkonto, dann ist die Änderung dieser Datei wahrscheinlich die beste Lösung. Ich empfehle, sie zuerst zu sichern. Eine Möglichkeit, diese Datei zu sichern, besteht darin, Folgendes auszuführen:
sudo cp /etc/environment /etc/environment.orig
Die .orig
Erweiterung ist nicht ausdrücklich erforderlich – Sie können der Sicherungsdatei einen beliebigen Namen geben, der weder verwirrend ist noch bereits verwendet wird. (Außerdem sind .orig
, .old
, .backup
und .bak
gebräuchlich.)
Sie können diese Datei auf dieselbe Weise bearbeiten, wie Sie als Root-Benutzer auch jede andere Datei bearbeiten würden ( sudoedit /etc/enviromnment
, sudo nano -w /etc/environment
, gksudo gedit /etc/environment
, usw.).
/etc/environment
unterstützt nicht das automatische Einfügen des alten Wertes einer Variable. Dies ist jedoch normalerweise nicht erforderlich, da Sie in den meisten Fällen eine Umgebungsvariable für alle Benutzer durch Bearbeiten festlegen und /etc/environment
dies ohnehin der Anfangswert sein soll, wenn sich der Benutzer anmeldet. Der Benutzer kann ihn dann nach Belieben ändern. Normalerweise ist es gut, wenn Benutzer dies tun können.
2. Für alle Benutzer:/etc/security/pam_env.conf
PAM liest Umgebungsvariablen für alle Benutzer aus /etc/security/pam_env.conf
, die mit der gleichen Syntax angegeben werden, die in benutzerspezifischen ~/.pam_environment
Dateien verwendet wird (siehe unten).
Wenn dieselbe Umgebungsvariable sowohl in als /etc/environment
auch in gesetzt ist /etc/security/pam_env.conf
, wird der Wert in pam_env.conf
verwendet – auch wenn dieser Wert als DEFAULT
statt angegeben ist OVERRIDE
.
Wenn Sie jedoch eine Zeile in environment
durch eine in ersetzen pam_env.conf
, können Sie den Inhalt des ersetzten Werts einschließen. .pam_environment
Weitere Informationen finden Sie im Abschnitt weiter unten (da dort dieselbe Syntax verwendet wird).
Normalerweise ist es nicht notwendig, zu bearbeiten pam_env.conf
undSie sollten sehr vorsichtig sein, wenn Sie dies tun, seit einemmissgebildetZeile verhindert normalerweise, dass sich alle normalen Benutzerkonten überhaupt anmelden! Die Standardeinstellung pam_env.conf
enthält beispielsweise die Zeilen:
#PATH DEFAULT=${HOME}/bin:/usr/local/bin:/bin\
#:/usr/bin:/usr/local/bin/X11:/usr/bin/X11
Dies ist eines von mehreren Beispielen. Es zeigt unter anderem, wie man eine Zuweisung mit auf mehrere Zeilen aufteilt \
. Angenommen, Sie würden nur die erste Zeile auskommentieren, aber vergessen, die zweite Zeile auskommentieren:
PATH DEFAULT=${HOME}/bin:/usr/local/bin:/bin\
#:/usr/bin:/usr/local/bin/X11:/usr/bin/X11
Tu das nicht!
Ich habe das gerade aus Versehen selbst getestet und es hat alle Benutzer daran gehindert, sich erfolgreich anzumelden. Um das Problem zu beheben, musste ich im Wiederherstellungsmodus booten und es wieder ändern. (Glücklicherweise habe ich das auf einer virtuellen Maschine gemacht, die ich nur zum Testen verwende, also hat es mir keine Probleme bereitet.)
3. Für einen Benutzer: .pam_environment
im Home-Verzeichnis des Benutzers
Eine Möglichkeit, eine Umgebungsvariable für einen einzelnen Benutzer festzulegen, besteht darin, dass dieser Benutzer sie .pam_environment
in seinem Home-Verzeichnis bearbeitet (oder erstellt). In dieser Datei festgelegte Werte ersetzen die in der globalen Datei festgelegten Werte /etc/environment
.
.pam_environment
ist nicht Teil des Dateigerüsts, das in den Home-Ordner eines Benutzers kopiert wird, wenn das Benutzerkonto erstellt wird. Wenn Sie diese Datei jedoch in Ihrem Home-Verzeichnis erstellen, können Sie sie verwenden, um Umgebungsvariablen wie festzulegen PATH
. Im Gegensatz zu /etc/environment
(aber wie /etc/security/pam_env.conf
) unterstützen die benutzerspezifischen .pam_environment
Dateien die Erweiterung des alten Wertes einer Umgebungsvariablen in einen neuen. Es handelt sich jedoch nicht um Shell-Skripte, und Sie müssen hierfür eine spezielle Syntax verwenden, die sich etwas von der Syntax unterscheidet, die Sie in einer Datei wie verwenden würden .profile
.
Wenn Sie beispielsweise ein bin2
Verzeichnis in Ihrem Home-Verzeichnis hätten, das Sie an das Ende von hinzufügen möchten PATH
, könnten Sie das tun, indem Sie folgende Zeile an hinzufügen .pam_environment
:
PATH DEFAULT=${PATH}:/home/@{PAM_USER}/bin2
Sehender ~/.pam_environment
UnterabschnittvonUmgebungsvariablen(von dem das obige Beispiel eng adaptiert ist),man pam_env
, Undman pam_env.conf
für weitere Details.
Obwohl dies einst als die bevorzugte Methode für Ubuntu-Benutzer zum Ändern oder Hinzufügen von Umgebungsvariablen angepriesen wurde und immer noch als sinnvolle und akzeptable Wahl gilt,Sie sollten beim Bearbeiten vorsichtig sein.pam_environment
. Wie systemweite Änderungen /etc/security/pam_env.conf
(siehe oben) führt eine fehlerhafte Zeile in der Datei eines Benutzers .pam_environment
dazu, dass Anmeldungen nicht erfolgreich sind. (Ich habe dies getestet – diesmal mit Absicht.) Weitere Informationen dazu, wiedie Empfehlungenhabenweiterentwickelt, sehenGunnar Hjalmarsson'SKommentare untenUnddiese ubuntu-devel
Diskussion.
Ein solcher Fehler ist viel weniger schwerwiegend,Im Algemeinen, als eine fehlerhafte Zeile in pam_env.conf
, da sie nur einen Benutzer betrifft. Im Fall eines Ubuntu-Desktopsystems mit nur einem Benutzerkonto, das Anmeldungen zulässt, .pam_environment
ist ein solcher Fehler beim Bearbeiten jedoch genauso schlimm wie ein Bearbeitungsfehler pam_env.conf
– wenn Sie nicht bereits angemeldet sind, können Sie ihn nicht beheben, ohne im Wiederherstellungsmodus (oder von einem Live-USB usw.) zu booten.
(Wenn Sie andere Benutzerkonten haben, können Sie sich als anderer Benutzer anmelden und das Problem beheben. Auch wenn diese kein Administrator sind und nicht sudo
rooten können, können sie trotzdem ausgeführt werden und werden aufgefordert, Ihr (nicht ihr) Passwort einzugeben. Diesu your-account
GastDies ist mit einem Konto jedoch nicht möglich, da es nicht erlaubt ist, su
die Identität eines anderen Benutzers anzunehmen.)
4. Für alle Benutzer: /etc/profile
und Dateien darin/etc/profile.d/
Bourne-kompatible Shells (einschließlich bash
, der Standardbenutzer-Shell in Ubuntu) führen die Befehle in aus, /etc/profile
wenn sie als Anmelde-Shell aufgerufen werden.
Ubuntu /etc/profile
endet mit:
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi
Dies bewirkt, dass die Befehle in allen Dateien im /etc/profile.d/
Verzeichnis, deren Name mit endet, .sh
ebenfalls ausgeführt werden.
Die meisten Display-Manager sorgen dafür, dass die Befehle in /etc/profile
(und damit die Dateien in /etc/profile.d
) auch bei grafischen Logins ausgeführt werden.nicht alle tun dies, und das ist ein wichtiges Argument dafür, die von PAM bereitgestellten Einrichtungen zu nutzen, anstatt(siehe oben) – es sei denn, es wird niemals eine grafische Anmeldung bei diesem System geben, was beispielsweise der Fall sein kann, wenn es sich um einen Server ohne installierte GUI handelt.
Es ist üblich, systemweite Umgebungsvariablen in festzulegen /etc/profile
, aber das ist oft nicht mehr die beste Wahl. Wenn Sie eine Umgebungsvariable in nicht festlegen können /etc/environment
und sie für alle Benutzer festlegen müssen, ist es wahrscheinlich besser, eine neue Datei in zu erstellen, /etc/profile.d/
als sie selbst zu bearbeiten /etc/profile
. Ein Grund dafür ist, dass beim Upgrade von Ubuntu möglicherweise eine neue Standarddatei vorhanden ist /etc/profile
. Je nachdem, wie Sie das Upgrade durchführen, wird entweder die alte Datei (mit Ihren Änderungen) beibehalten und auf diese bestimmte aktualisierte Konfigurationsdatei verzichtet, oder Sie werden aufgefordert, die Situation zu beheben.
/etc/profile
Wenn in beiden und einer oder mehreren Dateien in dieselbe Umgebungsvariable festgelegt ist /etc/profile.d
, was wird zuletzt ausgeführt?Dies hängt davon ab, ob die Befehle in /etc/profile
diesem Satz vor oder nach der profile.d
Quellenangabe der Dateien in erscheinen (durch den oben zitierten Code). Befehle in /etc/profile
werden in der Reihenfolge ausgeführt, in der sie erscheinen.
/etc/profile
ist ein Shell-Skript undseine Syntax istnichtdas gleiche wie das der oben besprochenen PAM-Konfigurationsdateien. Die Syntax ist die gleiche wie die Syntax für die Benutzerdatei ~/.profile
(siehe unten).
Wenn Sie Code schreiben müssen, derentscheidetob Sie ein bestimmtes Verzeichnis hinzufügen möchten PATH
(und dies für alle Benutzer tun möchten), können Sie hierfür nicht /etc/environment
oder /etc/security/pam_env.conf
verwenden. Dies ist vielleicht die Hauptsituation, in der es besser ist, stattdessen /etc/profile
oder zu verwenden /etc/profile.d/
.
5. Für einen Benutzer: .bash_profile
im Home-Verzeichnis des Benutzers
Wenn ein Benutzer hat ~/.bash_profile
, verwendet Bash es anstelle von ~/.profile
oder ~/.bash_login
(siehe unten). Normalerweise sollten Sie kein .bash_profile
in Ihrem Home-Verzeichnis haben.
Wenn Sie dies tun, sollte es normalerweise einen Befehl zur Quelle enthalten ~/.profile
(z. B. . "$HOME/.profile"
). Andernfalls wird der Inhalt der benutzerspezifischen .profile
Datei überhaupt nicht ausgeführt.
6. Für einen Benutzer: .bash_login
im Home-Verzeichnis des Benutzers
Wenn ein Benutzer hat ~/.bash_login
, verwendet Bash es anstelle von ~/.profile
(siehe unten), sofern es nicht ~/.bash_profile
vorhanden ist. In diesem Fall wird keines der anderen verwendet, es sei denn, es stammt aus `~/.bash_login.
Wie bei .bash_profile
sollten Sie normalerweise keine .bash_login
Datei in Ihrem Home-Verzeichnis haben.
7. Für einen Benutzer: .profile
im Home-Verzeichnis des Benutzers.
Wenn eine Shell im Bourne-Stil als Login-Shell ausgeführt wird, führt sie die Befehle in aus /etc/profile
(was normalerweise Befehle einschließt, die dazu führen, dass die Befehle in Dateien in /etc/profile.d/
ausgeführt werden – siehe oben). Danach führt sie die Befehle in .profile
im Home-Verzeichnis des Benutzers aus. Diese Datei ist für jeden Benutzer separat. (Bash wird tatsächlich .bash_profile
oder .bash_login
stattdessen ausgeführt, wenn sie vorhanden sind – aber für Benutzer auf einem Ubuntu-System sollten diese Dateien selten vorhanden sein oder sind es auch nicht. Einzelheiten finden Sie oben und6.2 Bash-StartdateienIndas Bash-Handbuch.)
~/.profile
ist daher der Hauptort für Benutzer, um Befehle abzulegen, die ausgeführt werden, wenn sie sich anmelden. Dies ist der traditionelle Ort, an dem Sie Ihre festlegen PATH
, aber da Ubuntu über das Modul pam_env verfügt und unterstützt ~/.pam_environment
, sollten Sie dies in Betracht ziehen.
Wie bei /etc/profile
führen nicht alle Displaymanager diese Datei für grafische Anmeldungen aus, die meisten tun dies jedoch.Aus diesem Grund ist es besser, ~/.pam_environment
Umgebungsvariablen zu setzen.(so sehr man /etc/environment
es auch vorziehen mag /etc/profile
).
Sie können Umgebungsvariablen, einschließlich PATH
sich selbst, erweitern, wenn Sie PATH
in festlegen .pam_environment
(siehe oben). Wenn Sie jedoch PATH
auf eine anspruchsvollere Weise festlegen müssen, müssen Sie möglicherweise .profile
stattdessen Ihre verwenden. Insbesondere wenn Sie bei jeder Benutzeranmeldung prüfen möchten, ob ein Verzeichnis vorhanden ist, und es nur hinzufügen möchten PATH
, wenn dies der Fall ist, können Sie Ihre .pam_environment
Datei nicht verwenden, um dieses Verzeichnis zu Ihrer hinzuzufügen PATH
.
Beispielsweise die Standard-Benutzerdatei .profile
unter Ubuntugewöhnt anEnde mit:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
SehenGunnar Hjalmarsson'SKommentarAnAntwort von Byte Commanderfür Details.
bin
Dadurch wird überprüft, ob Sie ein Unterverzeichnis Ihres Home-Verzeichnisses haben . Wenn ja, wird dieses Unterverzeichnis am Anfang Ihres hinzugefügt PATH
.
In dieser Liste fehlen einige Möglichkeiten.
Es gibt noch andere Möglichkeiten, wie Umgebungsvariablen bei der Anmeldung von Benutzern festgelegt werden, die stärker von der Art der Anmeldung abhängen. Beispielsweise kann es gelegentlich vorkommen, dass Umgebungsvariablen nur für grafische Anmeldungen oder nur für SSH-basierte Remote-Anmeldungen festgelegt werden. Die obige Liste deckt solche Fälle nicht ab.
Ich habe einige Dateien ausgelassen, in denen Benutzer manchmal Umgebungsvariablen definieren, wie ~/.bashrc
und /etc/bash.bashrc
, da dies im Allgemeinen nicht die empfohlenen Orte zum Festlegen sind PATH
und es selten vorkommt, dass Sie sie tatsächlich für diesen Zweck verwenden sollten. Wenn Sie diese Dateien verwenden, um Verzeichnisse zu hinzuzufügen PATH
, werden sie manchmal viele Male hinzugefügt, was bei der Untersuchung sehr verwirrend ist $PATH
. (In extremen Fällen kann dies die Dinge verlangsamen, aber normalerweise geht es nur darum, alles sauber und verständlich zu halten.)
Da bash
es sich bei Ubuntu um die Standard-Anmelde-Shell für Benutzer handelt und die meisten Benutzer diese oder eine andere POSIX-kompatible Shell verwenden, habe ich Informationen darüber weggelassen, wie Umgebungsvariablen in anderen Shells, die nicht im Bourne-Stil gehalten sind, wie z. B. , festgelegt werden tcsh
.
Antwort3
/etc/UmgebungDie Datei ist keine Skriptdatei. Sie können dort keinen Export verwenden und sie unterstützt keine Variablenerweiterung des Typs $HOME, sondern nur einfache Variable=Wert-Paare. Um diese Datei zu verwenden, müssen Sie Ihren Pfad einfach an die vorhandene Definition anhängen. Sie ist speziell für systemweite Umgebungsvariableneinstellungen gedacht. Eine pro Zeile. Insbesondere speichert diese Datei die systemweiten Gebietsschema- und Pfadeinstellungen.
~/.profile– Diese Datei wird immer ausgeführt, wenn eine Bash-Shell ausgeführt wird. Normalerweise wird diese Datei für Umgebungsvariablen empfohlen. Allerdings hat sie den Nachteil, dass sie nur von Login-Shells aufgerufen wird. Damit sie wirksam wird, müssen Sie sich also ab- und wieder anmelden – oder zumindest eine neue Login-Shell starten.
Antwort4
bash liest diese Dateien, zsh jedoch nicht:
systemweit
/etc/profile
- Es ist keine gute Idee, es direkt zu bearbeiten.
/etc/profile.d/*.sh
- Quelle:/etc/profile
Sitzungsweit
~/.profile
https://help.ubuntu.com/community/EnvironmentVariables#A.2Fetc.2Fprofile.d.2F.2A.sh