Wie füge ich dem Verzeichnis ein Verzeichnis hinzu $PATH
in Ubuntu und die Änderungen dauerhaft machen?
Wobei ~/.profil zum Setzen von $ PATH
Ein Pfad, der in .bash_profile
wird nur in einer Bash-Login-Shell gesetzt (bash -l
).Wenn du deinen Weg in .profile
es wird für Ihre vollständige Desktop-Sitzung verfügbar sein. Das bedeutet, dass sogar Metacity es verwenden wird.
Beispielsweise ~/.profile
:
if [ -d "$HOME/bin" ] ; then PATH="$PATH:$HOME/bin"fi
Übrigens können Sie die Pfadvariable eines Prozesses überprüfen, indem Sie sich seine Umgebung in ansehen /proc/[pid]/environ
(ersetzen Sie [pid] durch die Nummer von ps axf
). Z.B. Verwendung grep -z "^PATH" /proc/[pid]/environ
Beachten:
bash
da eine Anmeldeshell nicht analysiert wird .profile
wenn entweder .bash_profile
oder .bash_login
exists. Von man bash
:
es sucht nach ~/ .bash_profile, ~/.bash_login und ~/.profil in dieser Reihenfolge und liest und führt Befehle aus dem ersten vorhandenen und lesbaren aus.
Siehe die antworten unten für Informationen über .pam_environment
, oder .bashrc
für interaktive Nicht-Login-Shells oder legen Sie den Wert global für alle Benutzer fest, indem Sie ein Skript in /etc/profile.d/
oder verwenden /etc/X11/Xsession.d/
um die Anzeigemanagersitzung zu beeinflussen.
Bearbeiten .bashrc
in Ihrem Home-Verzeichnis und fügen Sie die folgende Zeile hinzu:
export PATH="/path/to/dir:$PATH"
Sie müssen Ihre Quelle .bashrc
oder melden Sie sich ab (oder starten Sie das Terminal neu), damit die Änderungen wirksam werden. Um Ihre zu beschaffen .bashrc
, einfach tippen
$ source ~/.bashrc
Der empfohlene Ort, um permanent zu definieren, systemweite Umgebungsvariablen, die für alle Benutzer gelten, sind in:
/etc/environment
(wo ist der Standard PATH
ist definiert)
Dies funktioniert auf Desktop oder Konsole, Gnome-Terminal oder TTY, Regen oder Sonnenschein;)
-
Öffnen Sie zum Bearbeiten das Terminal und geben Sie Folgendes ein:
sudoedit /etc/environment
(oder öffnen Sie die Datei mit
sudo
in Ihrem bevorzugten Texteditor)
Damit es ohne Neustart funktioniert, führen Sie Folgendes aus . /etc/environment
oder source /etc/environment
. Da es sich bei dieser Datei nur um ein einfaches Skript handelt, wird es ausgeführt und weist den neuen Pfad der PATH
Umgebungsvariable. Zum Überprüfen ausführen env
und sehen Sie die PATH
wert in der Auflistung.
Zusammenhang:
Ich denke, der kanonische Weg in Ubuntu ist:
-
erstellen Sie eine neue Datei unter
/etc/profile.d/
sudo vi /etc/profile.d/SCRIPT_NAME.sh
-
fügen Sie dort hinzu:
export PATH="YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH"
-
und geben Sie ihm die Ausführungsberechtigung
sudo chmod a+x /etc/profile.d/SCRIPT_NAME.sh
Für komplette Neulinge (wie ich), die sich mit GUI wohler fühlen:
- Öffne dein
$HOME
Ordner. - Gehe zu Blick → Versteckte Dateien anzeigen oder drücken Sie Ctrl + H.
- Rechtsklick auf
.profile
und klicken Sie auf Mit Texteditor öffnen. - Scrollen Sie nach unten und fügen Sie hinzu
PATH="$PATH:/my/path/foo"
. - Speichern.
- Melden Sie sich ab und wieder an, um Änderungen zu übernehmen (Ubuntu tatsächlich laden lassen
.profile
).
Für persistente Umgebungsvariablen, die nur bestimmten Benutzern zur Verfügung stehen. Ich empfehle die offizielle Ubuntu-Dokumentation.
https://help.ubuntu.com/community/EnvironmentVariables
Unter Bezugnahme auf die obige Dokumentation habe ich meine eingerichtet Android SDK Pfad-Werkzeuge von:
- erstellen
~/.pam_environment
datei im Home-Verzeichnis. - deren Inhalt ist
PATH DEFAULT=${PATH}:~/android-sdk-linux/tools
. - zusätzlicher benutzerdefinierter Benutzerpfad kann hinzugefügt werden, indem Pfade durch getrennt werden Doppelpunkt (:).
- dies erfordert neu anmelden, was bedeutet, dass Sie sich abmelden und wieder bei der Desktop-Umgebung anmelden müssen.
Setzen Sie diese Zeile in Ihre ~/.bashrc
Datei.
Es wird aktualisiert, wenn Sie ein Terminal öffnen
BEARBEITEN: Basierend auf den Kommentaren unten, für eine allgemeinere Einstellung, die für alle Shells gilt (auch wenn Sie treffen Alt-F2 in Unity), fügen Sie die Zeile zu Ihrem hinzu ~/.profile
Datei. Wahrscheinlich sollten Sie jedoch nicht beides tun, da der Pfad zweimal zu Ihrem Pfad hinzugefügt wird PATH
umgebung, wenn Sie ein Terminal öffnen.
Um es systemweit festzulegen, hängen Sie die Zeile an export PATH=/path/you're/adding:$PATH
bis zum Ende von /etc/profile
.
Um das Verzeichnis nur für den angemeldeten Benutzer hinzuzufügen, hängen Sie dieselbe Zeile an ~/.bash_profile
.
Hinzufügen zu .bashrc wird funktionieren, aber ich denke, die traditionellere Art, Ihre Pfadvariablen einzurichten, ist in .bash_profile durch Hinzufügen der folgenden Zeilen.
PATH=$PATH:/my/path/fooexport PATH
GEM dieser Thread es scheint, als ob Ubuntus Verhalten etwas anders ist als RedHat und Klone.
Im Terminal, cd
zu the_directory_you_want_to_add_in_the_path
echo "export PATH=$(pwd):\${PATH}" >> ~/.bashrc
Das war nicht meine Idee. Ich habe diesen Weg gefunden, um den Pfad zu exportieren blog hier.
EnvironmentVariables - Community Help Wiki Es gibt alles, was Sie wissen müssen. Ich habe herausgefunden, dass viele Eingaben hier falsch waren oder zumindest die Methode nicht vorgeschlagen wurde. Dies ist eine großartige Information, mit der Sie herausfinden können, wo Sie Ihre Umgebungsvariable ändern müssen, basierend auf dem Grund, warum Sie dies tun, und genau, wie Sie es tun, ohne alles zu vermasseln (wie ich es nach einigen der oben genannten schlechten Ratschläge getan habe). Auf Wiedersehen und danke für den ganzen Fisch!