Sie müssen es zu Ihrem ~/.profile
hinzufügen oder ~/.bashrc
Datei.
export PATH="$PATH:/path/to/dir"
Je nachdem, was Sie tun, möchten Sie vielleicht auch einen Symlink zu Binärdateien erstellen:
cd /usr/bin
sudo ln -s /path/to/binary binary-name
Beachten Sie, dass dadurch Ihr Pfad für den Rest der Sitzung nicht automatisch aktualisiert wird. Dazu sollten Sie Folgendes ausführen:
source ~/.profile
or
source ~/.bashrc
Bearbeiten Sie in Ubuntu /etc/environment
. Sein einziger Zweck ist das Speichern von Umgebungsvariablen . Ursprünglich ist hier die Variable $PATH definiert.
Dies ist eine Paste aus meinem /etc/environment
Datei:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
Sie können diese Datei also einfach als root öffnen und hinzufügen, was Sie wollen.
Für sofort Ergebnisse,
Ausführen (versuchen Sie es als normaler Benutzer und root):
source /etc/environment && export PATH
Wenn Sie die Z-Shell (zsh
), fügen Sie diese Zeile direkt nach den Kommentaren in /etc/zsh/zshenv
ein Datei:
source /etc/environment
Ich bin auf diese kleine Macke auf Ubuntu 15.10 (Wily Werewolf) gestoßen, aber wenn Ihr zsh erhält nicht den richtigen PATH , das könnte der Grund sein.
Es gibt mehrere Möglichkeiten, dies zu tun. Die tatsächliche Lösung hängt vom Zweck 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 und export
verwenden oder set
Befehle.
Systemweit
-
/etc/environment
Liste der eindeutigen Zuordnungen. Erlaubt Referenzen. Perfekt zum Hinzufügen von systemweiten Verzeichnissen wie/usr/local/something/bin
bisPATH
Variable oder Definition vonJAVA_HOME
. Wird von PAM und Systemd verwendet. -
/etc/environment.d/*.conf
Liste der eindeutigen Zuordnungen. Erlaubt Referenzen. Perfekt zum Hinzufügen von systemweiten Verzeichnissen wie/usr/local/something/bin
bisPATH
Variable oder Definition vonJAVA_HOME
. Die Konfiguration kann in mehrere Dateien aufgeteilt werden, normalerweise eine pro Tool (Java, Go und Node.js). Wird von systemd verwendet, das diese Werte absichtlich nicht an Benutzeranmelde-Shells weitergibt. -
/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 beim X Window System 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 im Anmeldemodus gelesen. -
/etc/<shell>.<shell>rc
. Shell-Skript. Dies ist eine schlechte Wahl, da es sich um eine einzelne Schale handelt. Wird im Nicht-Anmeldemodus verwendet.
Benutzersitzung
-
~/.pam_environment
. Liste der eindeutigen Zuordnungen, keine Referenzen erlaubt. Wird von PAM zu Beginn jeder Benutzersitzung geladen, unabhängig davon, ob es sich um eine X Window System-Sitzung oder -Shell handelt. Sie können nicht auf andere Variablen einschließlichHOME
verweisen oderPATH
also nur bedingt nutzbar. Wird von PAM verwendet. -
~/.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 zum Erweitern vonPATH
mit Werten wie~/bin
oder~/go/bin
oder benutzerspezifisch definierenGOPATH
oderNPM_HOME
. Die Datei wird von einem anderen Skript eingebunden, verwenden Sie also die POSIX-Shell-Syntax und nicht die Syntax Ihrer Benutzer-Shell. Ihr grafischer Texteditor oder Ihre per Shortcut gestartete IDE sieht diese Werte. -
~/.profile
,~/.<shell>_profile
,~/.<shell>_login
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. Wird von Shells im Anmeldemodus verwendet. -
~/.<shell>rc
. Shell-Skript. Dies ist eine schlechte Wahl, da es sich um eine einzelne Schale handelt. Wird von Shells im Nicht-Anmeldemodus verwendet.
Notizen
GNOME auf Wayland startet eine Benutzeranmelde-Shell, um die Umgebung abzurufen. Es verwendet effektiv die Login-Shell-Konfigurationen ~/.profile
, ~/.<shell>_profile
, ~/.<shell>_login
Dateien.
Manpages
- Umgebung
- environment.d https://linux.die.net/man/1/environment.d
- Bash
- Bindestrich
Distributionsspezifische Dokumentation
- Ubuntu
- Arch-Linux
Verwandt
Unterschied zwischen Login-Shell und Nicht-Login-Shell?