Ich versuche, meinem Pfad ein Verzeichnis hinzuzufügen, damit es immer in meinem Linux-Pfad ist. Ich habe es versucht:
export PATH=$PATH:/path/to/dir
Dies funktioniert jedoch jedes Mal, wenn ich das Terminal verlasse und eine neue Terminalinstanz starte, dieser Pfad verloren geht und ich den Exportbefehl erneut ausführen muss.
Wie kann ich das machen, damit dies dauerhaft eingestellt wird?
Sie müssen es Ihrer ~/.profile
- oder ~/.bashrc
-Datei hinzufügen.
export PATH="$PATH:/path/to/dir"
Je nachdem, was Sie tun, möchten Sie möglicherweise auch einen Link zu Binärdateien erstellen:
cd /usr/bin
Sudo ln -s /path/to/binary binary-name
Beachten Sie, dass dadurch der Pfad für den Rest der Sitzung nicht automatisch aktualisiert wird. Um dies zu tun, 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 die Variable $ PATH hier definiert .. _ Dies ist eine Einfügung aus meiner /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 möchten.
Für sofortige Ergebnisse Ausführen (versuchen Sie es als normaler Benutzer und root):
source /etc/environment && export PATH
UPDATE:
Wenn Sie zsh
(a.k.a Z Shell) verwenden, fügen Sie diese Zeile direkt nach den Kommentaren in /etc/zsh/zshenv
ein:
source /etc/environment
Ich bin auf Ubuntu 15.10 auf diese kleine Masche gestoßen, aber wenn Ihr zsh nicht den richtigenPFADerhält, könnte dies der Grund dafür sein, dass
Es gibt mehrere Möglichkeiten, dies zu tun. Die tatsächliche Lösung hängt vom Zweck ab.
Die Variablenwerte werden normalerweise in einer Liste von Zuweisungen oder einem Shell-Skript gespeichert, das zu Beginn der System- oder Benutzersitzung ausgeführt wird. Im Falle des Shell-Skripts müssen Sie eine bestimmte Shell-Syntax verwenden.
/etc/environment
Liste der eindeutigen Zuweisungen. Perfekt, um systemweite Verzeichnisse wie /usr/local/something/bin
zur Variable PATH
hinzuzufügen oder Java_HOME
zu definieren./etc/xprofile
Shell-Skript, das ausgeführt wird, wenn die X Window System-Sitzung gestartet wird. Dies wird für jeden Benutzer ausgeführt, der sich beim X Window System anmeldet. Dies ist eine gute Wahl für PATH
-Einträge, die für jeden Benutzer wie /usr/local/something/bin
gültig sind. Die Datei ist in einem anderen Skript enthalten. Verwenden Sie daher 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 reine Shell-Systeme. Diese Dateien werden nur von Shells gelesen./etc/<Shell>.<Shell>rc
. Shell-Skript. Dies ist eine schlechte Wahl, da es nur für die Shell spezifisch ist.~/.pam_environment
. Liste der eindeutigen Zuweisungen. Geladen von PAM zu Beginn jeder Benutzersitzung, irrelevant, wenn es sich um eine X Window System-Sitzung oder eine Shell handelt. Sie können nicht auf andere Variablen, einschließlich HOME
oder PATH
, verweisen, sodass sie nur begrenzt verwendet werden kann.~/.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. Die perfekte Wahl, um PATH
mit Werten wie ~/bin
oder ~/go/bin
zu erweitern oder benutzerspezifische GOPATH
oder NPM_HOME
zu definieren. Die Datei ist in einem anderen Skript enthalten. Verwenden Sie daher die POSIX-Shell-Syntax und nicht die Syntax Ihrer Benutzer-Shell. Ihr grafischer Texteditor oder IDE, der durch eine Verknüpfung gestartet wird, sieht diese Werte.~/.profile
Shell-Skript. Sie ist nur für Programme sichtbar, die von Terminal oder Terminalemulator gestartet werden. Es ist eine gute Wahl für reine Shell-Systeme.~/.<Shell>rc
. Shell-Skript. Dies ist eine schlechte Wahl, da es nur für die Shell spezifisch ist.Setzen Sie die export
-Deklaration in ~/.bashrc
. Meine .bashrc enthält folgendes:
export PATH=/var/lib/gems/1.8/bin:/home/fraxtil/.bin:$PATH
Sie können $PATH
dauerhaft auf zwei Arten einstellen.
So legen Sie den Pfad für einen bestimmten Benutzer fest: Möglicherweise müssen Sie den Eintrag in .bash_profile
im Heimatverzeichnis des Benutzers vornehmen.
z. B. werde ich in meinem Fall den Java-Pfad im Tomcat-Benutzerprofil festlegen
[Tomcat]$ echo "export PATH=$PATH:/path/to/dir" >> /home/Tomcat/.bash_profile
Um einen allgemeinen Pfad für ALLE Systembenutzer festzulegen, müssen Sie den Pfad möglicherweise wie folgt festlegen:
[root~]# echo "export PATH=$PATH:/path/to/dir" >> /etc/profile
Sie können auf Centos oder RHEL für lokale Benutzer verwenden:
echo $"export PATH=\$PATH:$(pwd)" >> ~/.bash_profile
Dadurch wird das aktuelle Verzeichnis (oder Sie können ein anderes Verzeichnis verwenden) zum PATH hinzugefügt. Dies macht es dauerhaft, wird jedoch bei der nächsten Benutzeranmeldung wirksam.
Wenn Sie keine erneute Anmeldung wünschen, können Sie Folgendes verwenden:
source ~/.bash_profile
Dass der # User specific environment and startup programs
neu geladen wird, ist dieser Kommentar in .bash_profile
vorhanden.
Sie können diese Zeile zu Ihrer Konsolenkonfigurationsdatei hinzufügen (z. B. .bashrc) oder zu .profile
Ich denke, der eleganteste Weg ist:
1. fügen Sie diese Datei in die Datei ~/.bashrc Führen Sie diesen Befehl aus
gedit ~/.bashrc
füge deinen Weg hinzu
export PATH = $ PATH:/opt/node/bin
2.source ~/.bashrc
(Ubuntu)
Sie können auch dauerhaft eine der folgenden Dateien bearbeiten:
/etc/profile
(für alle Benutzer)
~/.bash_profile
(für aktuellen Benutzer)
~/.bash_login
(für aktuellen Benutzer)
~/.profile
(für aktuellen Benutzer)
Sie können auch /etc/environment
verwenden, um eine permanente Umgebungsvariable PATH festzulegen, aber unterstützt keine Variablenerweiterung.
Auszug aus: http://www.sysadmit.com/2016/06/linux-anadir-ruta-al-path.html
Gestern bin ich über diese Frage gestolpert, als ich nach einem Weg gesucht habe, einen Ordner mit meinen eigenen Skripts zum PATH hinzuzufügen - und war überrascht zu erfahren, dass meine ~/.profile
-Datei (unter Linux Mint 18.1) bereits Folgendes enthielt:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Also musste ich lediglich den Ordner ~/bin
erstellen und meine Skripte dort ablegen.
die Dateien, in denen Sie den Exportbefehl hinzufügen, hängen davon ab, ob Sie sich im Anmeldemodus oder im Nicht-Anmeldemodus befinden.
wenn Sie sich im Anmeldemodus befinden, sind die gesuchten Dateien entweder/etc/bash oder /etc/bash.bashrc
wenn Sie sich nicht im Anmeldemodus befinden, suchen Sie nach der Datei /.profile oder nach den Dateien im Verzeichnis /.profiles.d
die oben genannten Dateien, wenn sich die Systemvariablen befinden.
Zues77 hat die richtige Idee. Das OP hat nicht gesagt "wie kann ich mich hier durchschlagen". OP wollte wissen, wie man permanent an $ PATH hängt:
Sudo nano /etc/profile
Hier wird alles festgelegt und es ist der beste Ort, um alles für Dinge zu ändern, die $ PATH benötigen
Meine Antwort bezieht sich auf das Einrichten von go-lang
auf Ubuntu linux/AMD64
. Ich hatte die gleiche Schwierigkeit, den Pfad der Umgebungsvariablen (GOPATH
und GOBIN
) festzulegen, ihn am Terminalausgang zu verlieren und ihn jedes Mal mit dem source <file_name>
neu aufzubauen.Der Fehler musste den Pfad (GOPATH
und GOBIN
) im ~/.bash_profile
-Ordner ablegen. Nachdem ich ein paar gute Stunden verschwendet hatte, stellte ich fest, dass die Lösung darin bestand, GOPATH
und GOBIN
in der ~/.bash_rc
-Datei auf folgende Weise abzulegen:
export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOPATH:$GOBIN
die Installation von go funktionierte einwandfrei und es gab keine Pfadverluste.
BEARBEITEN 1: .__ Der Grund für das Problem ist, dass Einstellungen für Nicht-Login-Shells wie Ihr Ubuntu-Terminal oder das Gnome-Terminal, auf dem der Go-Code ausgeführt wird, aus der ~./bash_rc
-Datei übernommen werden und die Einstellungen für Login-Shells übernommen werden von ~/.bash_profile
-Datei und von ~/.profile
-Datei, falls ~/.bash_profile
-Datei nicht erreichbar ist.
Fügen Sie dem /etc/profile.d
-Ordner-Skript [name_of_script].sh
folgende Zeile hinzu: export PATH=$PATH:/dir
. Jedes Skript im /etc/profile.d
-Ordner wird beim Anmelden automatisch von /etc/profile
ausgeführt.
PATH-Variable dauerhaft hinzufügen
Global:
echo "export PATH=$PATH:/new/path/variable" >> /etc/profile
Lokal (nur für Benutzer):
echo "export PATH=$PATH:/new/path/variable" >> ~/.profile
Für Global Neustart. Für local relogin.
Beispiel
Vor:
$ cat /etc/profile
#!/bin/sh
export PATH=/usr/bin:/usr/sbin:/bin:/sbin
Nach dem:
$ cat /etc/profile
#!/bin/sh
export PATH=/usr/bin:/usr/sbin:/bin:/sbin
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/new/path/variable
Alternativ kannst du einfach das Profil bearbeiten:
$ cat /etc/profile
#!/bin/sh
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/new/path/variable
Ein anderer Weg (danke gniourf_gniourf):
echo 'PATH=$PATH:/new/path/variable' >> /etc/profile
Sie sollten hier keine doppelten Anführungszeichen verwenden! echo 'exportieren PATH = $ PATH:/new/path/variable '... Und übrigens das Exportschlüsselwort ist höchstwahrscheinlich nutzlos, da die Variable PATH sehr wahrscheinlich __ ist. als exportiert gekennzeichnet. - gniourf_gniourf
Ich denke, der eleganteste Weg ist:
1.addiere dies in ~./Bashrc file
if [ -d "new-path" ]; then
PATH=$PATH:new-path
fi
2.source ~/.bashrc
(Ubuntu)
der einfachste Weg ist die folgende Zeile:PATH="<directory you want to include>:$PATH"
in Ihrer .bashrc-Datei im Ausgangsverzeichnis.
Es wird nicht zurückgesetzt, auch wenn Sie das Terminal schließen oder Ihren PC neu starten. Es ist dauerhaft
Für die Debian-Distribution müssen Sie:
- edit ~/.bashrc e.g: vim ~/.bashrc
- add export PATH=$PATH:/path/to/dir
- then restart your computer. Be aware that if you edit ~/.bashrc as root, your environment variable you added will work only for root
eine Möglichkeit, einen permanenten Pfad hinzuzufügen, der für mich funktioniert hat, ist: cd /etc/profile.d berühren Sie custom.sh vi custom.sh Exportieren Sie PATH = $ PATH:/path entsprechend Ihrer Einstellung / Starten Sie Ihren Computer neu und hier gehen wir den Pfad dauerhaft dort hin.
Homebrew
überprüfen Sie diese Video
oder
schritte unten
Step 1:
Öffnen Sie https://brew.sh/
Copy die [~ # ~] url [~ # ~] die im Screenshot oben gezeigt wurde
/usr/bin/Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Einfügen kopiert [~ # ~] url [~ # ~] im Terminal und drücken Sie die Eingabetaste
Sobald Sie getan haben mit Homebrew-Installation folgen Schritt 2:
Step 2:
Terraform herunterladen von https://www.terraform.io/downloads.htmlextrahieren herunterladen Terraform-Datei komprimieren
Jetzt haben Sie einen Dateinamen terraform
im heruntergeladenen Ordner
Zum Beispiel
/Users/username/downloads/terraform
Step 3:
Öffne ein terminal
cd: Verzeichnis wechseln zu /Users/username/downloads/terraform
Step 4:
runbrew install terraform
im terminal
Angenommen, Sie betreiben MacOS und haben eine Binärdatei, der Sie vertrauen und die Sie gerne systemweit zur Verfügung stellen möchten. Sie möchten jedoch nicht unbedingt das Verzeichnis, in das die Binärdatei zu Ihrem PATH hinzugefügt werden soll, sondern können sich für das Kopieren/Verschieben entscheiden die Binärdatei zu /usr/local/bin
, die sich bereits in Ihrem PATH befinden sollte. Dadurch wird die Binärdatei wie jede andere Binärdatei ausführbar, auf die Sie möglicherweise bereits in Ihrem Terminal Zugriff haben.
1. Ändern Sie die Datei "/ etc/profile".
#vi /etc/profile
Drücken Sie die Taste "i", um den Bearbeitungsstatus aufzurufen, und bewegen Sie den Cursor an das Ende der Datei. Weitere Einträge:
export PATH=$PATH:/path/to/dir;
Drücken Sie die "Esc" -Taste, um den Bearbeitungsstatus zu verlassen, ': wq', um die Datei zu speichern.
2. Machen Sie die Konfiguration wirksam
source /etc/profile
Erklären: Profildatei funktioniert für alle Benutzer. Wenn Sie nur für den aktiven Benutzer gültig sein möchten, legen Sie die Datei ".bashrc" fest