1091 Stimmen

Wie man $PATH unter Linux/Unix dauerhaft setzt

Wie kann ich unter Linux ein Verzeichnis zum $PATH hinzufügen, damit es über verschiedene Sitzungen hinweg bestehen bleibt?

Hintergrund

Ich versuche, ein Verzeichnis zu meinem Pfad hinzuzufügen, damit es immer in meinem Linux-Pfad enthalten ist. Ich habe es versucht:

export PATH=$PATH:/path/to/dir

Das funktioniert, aber jedes Mal, wenn ich das Terminal beende und eine neue Terminalinstanz starte, geht dieser Pfad verloren, und ich muss den Exportbefehl erneut ausführen.

Wie kann ich es so einrichten, dass diese Einstellung dauerhaft ist?

4voto

Iurii Vasylenko Punkte 2952

Skriptdatei hinzufügen [name_of_script].sh zum /etc/profile.d Ordner mit der Zeile:

export PATH=$PATH:/dir

Jedes Skript innerhalb der /etc/profile.d Ordner wird automatisch ausgeführt von /etc/profile bei der Anmeldung.

4voto

Abhiroj Panwar Punkte 485

Meine Antwort bezieht sich auf die Einrichtung einer Weiter Umwelt auf Ubuntu Linux (amd64). Ich habe das gleiche Problem mit der Einstellung des Pfades der Umgebungsvariablen ( GOPATH y GOBIN ), wobei sie beim Verlassen des Terminals verloren geht und mit der Option source <file_name> jedes Mal.

Der Fehler war, den Pfad ( GOPATH y GOBIN ) in ~/.bash_profile Datei. Nachdem ich ein paar Stunden damit verbracht hatte, fand ich heraus, dass die Lösung darin bestand, die Datei GOPATH y GOBIN en el ~/.bash_rc Datei in der Weise:

export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOPATH:$GOBIN

Dabei funktionierte die Go-Installation problemlos und es gab keine Pfadverluste.

Der Grund, mit dem dieses Problem zusammenhängen kann, ist, dass die Einstellungen für Nicht-Login-Shells, wie Ihr Ubuntu-Terminal oder GNOME Terminal, auf dem wir den Go-Code ausführen, werden aus dem ~./bash_rc Datei und die Einstellungen für Login-Shells werden von ~/.bash_profile Datei. Und aus der ~/.profile Datei, wenn die ~/.bash_profile Datei ist nicht erreichbar.

3voto

Joe D Punkte 39

Zues77 hat die richtige Idee. Der OP hat nicht gesagt "Wie kann ich mich da durchhacken?". Der OP wollte wissen, wie man dauerhaft an $PATH :

sudo nano /etc/profile

Hier wird er für alles eingestellt und ist der beste Ort, um ihn für alle Dinge, die er braucht, zu ändern. $PATH .

3voto

Dikinha Punkte 31

Die Dateien, in die Sie die exportieren hängt davon ab, ob Sie sich im Login-Modus oder im Nicht-Login-Modus befinden.

Wenn Sie sich im Login-Modus befinden, sind die Dateien, nach denen Sie suchen, entweder /etc/bash o /etc/bash.bashrc .

Wenn Sie sich nicht im Anmeldemodus befinden, suchen Sie nach der Datei /.Profil oder für die Dateien innerhalb des Verzeichnisses /.profile.d

In den oben genannten Dateien befinden sich die Systemvariablen.

3voto

Leo Punkte 378

Nehmen wir an, Sie führen macOS . Sie haben ein Binärprogramm, dem Sie vertrauen und das Sie in Ihrem System verfügbar machen möchten, aber Sie möchten nicht unbedingt, dass das Verzeichnis, in dem sich das Binärprogramm befindet, zu Ihrem PATH hinzugefügt wird.

Sie können die Binärdatei auch nach /usr/local/bin , das sich bereits in Ihrem PATH befinden sollte. Dadurch wird die Binärdatei wie jede andere Binärdatei, auf die Sie in Ihrem Terminal bereits Zugriff haben, ausführbar.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X