Festlegen der PATH-Variable in /etc/environment vs. .profile

Festlegen der PATH-Variable in /etc/environment vs. .profile

Wo sollte die PATHUmgebungsvariable am besten festgelegt werden?

~/.profileoder /etc/environment?

Was ist der Fall, wenn PATHan beiden Stellen festgelegt ist? Ist das Endergebnis eine Verkettung der beiden an diesen beiden Stellen festgelegten Werte?

Antwort1

Zusammenfassung:

  • /your/additional/pathWenn Sie Ihrer Variable einen Pfad (z. B. ) nur für Ihren aktuellen Benutzer und nicht für alle Benutzer Ihres Computers hinzufügen möchten PATH, fügen Sie ihn normalerweise am Ende ein, ~/.profilewie 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/environmentsondern eine Datei mit der Endung in zu erstellen .sh. /etc/profile.d/Das /etc/profileSkript und alle Skripte in /etc/profile.dsind das globale Äquivalent der persönlichen Umgebung jedes Benutzers ~/.profileund werden von allen Shells während ihrer Initialisierung als normale Shell-Skripte ausgeführt.


Mehr Details:

  • /etc/environmentist eine systemweite Konfigurationsdatei, die von allen Benutzern verwendet wird. Sie gehört rootjedoch allen Benutzern, Sie müssen also Administrator sein und sie verwenden, sudoum sie zu ändern.

  • ~/.profileist eines der persönlichen Shell-Initialisierungsskripte Ihres Benutzers. Jeder Benutzer hat eines und kann seine Datei bearbeiten, ohne andere zu beeinträchtigen.

  • /etc/profileund /etc/profile.d/*.shsind die globalen Initialisierungsskripte, die ~/.profilefür jeden Benutzer gleichwertig sind. Die globalen Skripte werden jedoch vor den benutzerspezifischen Skripten ausgeführt; und das Hauptskript /etc/profileführt alle *.shSkripte aus /etc/profile.d/, unmittelbar bevor es beendet wird.


  • Die /etc/environmentDatei 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 PATHVariable 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/binund /usr/sbindaraus 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 ~/.profileDatei kann viele Dinge enthalten, standardmäßig enthält sie unter anderem eine Prüfung, ob ein ~/binVerzeichnis existiert und fügt dieses der vorhandenen PATHVariable 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 PATHwiederverwendet 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 $PATHWert 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_profileoder ~/.bash_loginwenn Sie möchten, dass die Änderungen ~/.profilefü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 PATHzugewiesen 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 Festlegen PATHund anderen Umgebungsvariablen in Ubuntu empfehle ich außerdem das Lesen vonUmgebungsvariablenund die anderen Antworten auf diese Frage.

Der bevorzugte Standort PATHhä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, PATHhat die Umgebungsvariable den Wert, den sieZuletzt zugewiesen. In der Praxis,am meistender von Ihnen eingestellten Zeit PATH, schließen Sie diealtWert von PATHin den neuen Wert, so dass die bisherigen Einträge erhalten bleiben.

Wenn also in der Praxis PATHaus 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 PATHVariable selbst verweisen, wodurch ihr alter Wert in den neuen aufgenommen wird.

Sie fragen also tatsächlich nach der Reihenfolge, in der PATHEinstellungen in verschiedenen Dateien wirksam werden.

Nachfolgend sind die üblichen, allgemein zu setzenden Orte PATHin 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/environmentgesetzt 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 .origErweiterung 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, .backupund .bakgebrä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/environmentunterstü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/environmentdies 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_environmentDateien verwendet wird (siehe unten).

Wenn dieselbe Umgebungsvariable sowohl in als /etc/environmentauch in gesetzt ist /etc/security/pam_env.conf, wird der Wert in pam_env.confverwendet – auch wenn dieser Wert als DEFAULTstatt angegeben ist OVERRIDE.

Wenn Sie jedoch eine Zeile in environmentdurch eine in ersetzen pam_env.conf, können Sie den Inhalt des ersetzten Werts einschließen. .pam_environmentWeitere Informationen finden Sie im Abschnitt weiter unten (da dort dieselbe Syntax verwendet wird).

Normalerweise ist es nicht notwendig, zu bearbeiten pam_env.confundSie sollten sehr vorsichtig sein, wenn Sie dies tun, seit einemmissgebildetZeile verhindert normalerweise, dass sich alle normalen Benutzerkonten überhaupt anmelden! Die Standardeinstellung pam_env.confenthä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_environmentim Home-Verzeichnis des Benutzers

Eine Möglichkeit, eine Umgebungsvariable für einen einzelnen Benutzer festzulegen, besteht darin, dass dieser Benutzer sie .pam_environmentin seinem Home-Verzeichnis bearbeitet (oder erstellt). In dieser Datei festgelegte Werte ersetzen die in der globalen Datei festgelegten Werte /etc/environment.

.pam_environmentist 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_environmentDateien 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 bin2Verzeichnis 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_environmentUnterabschnittvonUmgebungsvariablen(von dem das obige Beispiel eng adaptiert ist),man pam_env, Undman pam_env.conffü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_environmentdazu, dass Anmeldungen nicht erfolgreich sind. (Ich habe dies getestet – diesmal mit Absicht.) Weitere Informationen dazu, wiedie Empfehlungenhabenweiterentwickelt, sehenGunnar Hjalmarsson'SKommentare untenUnddiese ubuntu-develDiskussion.

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_environmentist 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 sudorooten können, können sie trotzdem ausgeführt werden und werden aufgefordert, Ihr (nicht ihr) Passwort einzugeben. Diesu your-accountGastDies ist mit einem Konto jedoch nicht möglich, da es nicht erlaubt ist, sudie Identität eines anderen Benutzers anzunehmen.)

4. Für alle Benutzer: /etc/profileund Dateien darin/etc/profile.d/

Bourne-kompatible Shells (einschließlich bash, der Standardbenutzer-Shell in Ubuntu) führen die Befehle in aus, /etc/profilewenn sie als Anmelde-Shell aufgerufen werden.

Ubuntu /etc/profileendet 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, .shebenfalls 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/environmentund 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/profileWenn 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/profilediesem Satz vor oder nach der profile.dQuellenangabe der Dateien in erscheinen (durch den oben zitierten Code). Befehle in /etc/profilewerden in der Reihenfolge ausgeführt, in der sie erscheinen.

/etc/profileist 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/environmentoder /etc/security/pam_env.confverwenden. Dies ist vielleicht die Hauptsituation, in der es besser ist, stattdessen /etc/profileoder zu verwenden /etc/profile.d/.

5. Für einen Benutzer: .bash_profileim Home-Verzeichnis des Benutzers

Wenn ein Benutzer hat ~/.bash_profile, verwendet Bash es anstelle von ~/.profileoder ~/.bash_login(siehe unten). Normalerweise sollten Sie kein .bash_profilein 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 .profileDatei überhaupt nicht ausgeführt.

6. Für einen Benutzer: .bash_loginim Home-Verzeichnis des Benutzers

Wenn ein Benutzer hat ~/.bash_login, verwendet Bash es anstelle von ~/.profile(siehe unten), sofern es nicht ~/.bash_profilevorhanden ist. In diesem Fall wird keines der anderen verwendet, es sei denn, es stammt aus `~/.bash_login.

Wie bei .bash_profilesollten Sie normalerweise keine .bash_loginDatei in Ihrem Home-Verzeichnis haben.

7. Für einen Benutzer: .profileim 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 .profileim Home-Verzeichnis des Benutzers aus. Diese Datei ist für jeden Benutzer separat. (Bash wird tatsächlich .bash_profileoder .bash_loginstattdessen 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.)

~/.profileist 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/profileführen nicht alle Displaymanager diese Datei für grafische Anmeldungen aus, die meisten tun dies jedoch.Aus diesem Grund ist es besser, ~/.pam_environmentUmgebungsvariablen zu setzen.(so sehr man /etc/environmentes auch vorziehen mag /etc/profile).

Sie können Umgebungsvariablen, einschließlich PATHsich selbst, erweitern, wenn Sie PATHin festlegen .pam_environment(siehe oben). Wenn Sie jedoch PATHauf eine anspruchsvollere Weise festlegen müssen, müssen Sie möglicherweise .profilestattdessen 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_environmentDatei nicht verwenden, um dieses Verzeichnis zu Ihrer hinzuzufügen PATH.

Beispielsweise die Standard-Benutzerdatei .profileunter 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.

binDadurch 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 ~/.bashrcund /etc/bash.bashrc, da dies im Allgemeinen nicht die empfohlenen Orte zum Festlegen sind PATHund 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 bashes 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:

  1. systemweit

    /etc/profile- Es ist keine gute Idee, es direkt zu bearbeiten.
    /etc/profile.d/*.sh- Quelle:/etc/profile

  2. Sitzungsweit

    ~/.profile

https://help.ubuntu.com/community/EnvironmentVariables#A.2Fetc.2Fprofile.d.2F.2A.sh

verwandte Informationen