Wie kann ich ein Verzeichnis zum $PATH
in Ubuntu hinzufügen und die Änderungen dauerhaft machen?
~/.profile verwenden, um $PATH zu setzen
Ein Pfad, der in .bash_profile
gesetzt wird, wird nur in einer Bash-Login-Shell (bash -l
) gesetzt.
Wenn Sie Ihren Pfad in .profile
setzen, wird er für Ihre gesamte Desktop-Sitzung verfügbar sein. Das bedeutet, dass sogar Metacity ihn verwenden wird.
Zum Beispiel ~/.profile
:
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
Übrigens können Sie die PATH-Variable eines Prozesses überprüfen, indem Sie sich seine Umgebung in /proc/[pid]/environ
ansehen (ersetzen Sie [pid] durch die Nummer aus ps axf
). Verwenden Sie z.B. grep -z "^PATH" /proc/[pid]/environ
bash
als Login-Shell parst .profile
nicht, wenn entweder .bash_profile
oder .bash_login
existiert. Von man bash
:
Sie sucht nach ~/.bash_profile, ~/.bash_login und ~/.profile, in dieser
Reihenfolge, und liest und führt die Befehle aus dem ersten, der existiert und lesbar ist.
Siehe die Antworten unten für Informationen über .pam_environment
, oder .bashrc
für interaktive Nicht-Login-Shells, oder setzen Sie den Wert global für alle Benutzer, indem Sie ein Skript in /etc/profile.d/
einfügen oder /etc/X11/Xsession.d/
verwenden, um die Display-Manager-Sitzung zu beeinflussen.
Bearbeiten Sie die Datei .bashrc
in Ihrem Heimatverzeichnis und fügen Sie die folgende Zeile hinzu:
export PATH="/path/to/dir:$PATH"
Damit die Änderungen wirksam werden, müssen Sie Ihre .bashrc
löschen oder sich abmelden/anmelden (oder das Terminal neu starten). Um Ihre .bashrc
zu sourcen, geben Sie einfach ein
$ source ~/.bashrc
Das Hinzufügen zu .bashrc wird funktionieren, aber ich denke, der traditionellere Weg, Ihre Pfadvariablen einzurichten, ist in .bash_profile, indem Sie die folgenden Zeilen hinzufügen.
PATH=$PATH:/my/path/foo
export PATH
Nach diesem Thread scheint es, als ob Ubuntu's Verhalten etwas anders ist als RedHat und Klone.