Wie kann ich den $ PATH unter Linux bearbeiten?

44

Ich benutze Ubuntu 9.04. Ich muss meinem $ PATH einen Ordner hinzufügen. Ich kann den Pfad lesen:

echo $PATH

Ich möchte es bearbeiten und 2 weitere Pfade hinzufügen können.

Vielen Dank

Arthur
quelle
2
Sobald Sie in der Lage sind, dies zu tun, können Sie anspruchsvollere Operationen mit PATH ausführen
dmckee
Gehört zu Unix- oder Ubuntu-Sites.
Thomas Bratt

Antworten:

42

Um Ihren Pfad dauerhaft zu speichern, haben Sie einige Möglichkeiten.

Ich schlage vor, dass Sie das Ubuntu-Community-Wiki über Umgebungsvariablen lesen, aber die kurze Antwort ist der beste Ort ~/.profilefür Ihre benutzerspezifische PATH-Einstellung oder /etc/profilefür globale Einstellungen.

Mach sowas wie export PATH=$PATH:/your/new/path/here

akent
quelle
8
Es ist wichtig zu wissen, dass Ihr Profil in vielen Fällen nicht ausgeführt wird (z. B. wenn ein Skript von cron ausgeführt wird). Wenn Sie einen bestimmten Pfad in PATH festlegen müssen, muss ein Skript diesen Pfad festlegen. Das heißt, Skripte sollten sich niemals darauf verlassen, dass sich etwas in ihren Pfaden befindet, und sollten immer absolute Pfade verwenden, alles andere ist ein Sicherheitsproblem.
Chas. Owens
14
PATH=$PATH:newPath1:newPAth2
export PATH
Tal
quelle
3
Ich denke, Sie können das alles in einer Zeile tun, wenn Sie wollen. export PATH = $ PATH: newPath1: newPAth2
2
Dies hängt von der verwendeten Shell ab. Unter Solaris (ich weiß, dass es sich um Linux handelt) erfordert eine der Shells (ich kann mich nicht erinnern, welche auf dem Kopf liegt), dass Sie den Export getrennt von der Einstellung des Werts in einem Skript ausführen. Also habe ich mir angewöhnt, es in zwei Zeilen zu tun.
Glen
7

Sie können dies auch in die globale Umgebung einfügen:

sudo emacs /etc/environment

Hänge an die Einträge an, die sich bereits in deinem Pfad befinden

PATH="/path/to/file:/other/paths"

Laden Sie die Umgebung neu

source /etc/environment
jaketrent
quelle
1
Das Bearbeiten der Umgebungsdatei war die einzige Möglichkeit, den PFAD zu ändern und geändert zu bleiben.
2

Wie das geht, wurde bereits beantwortet, aber ich möchte Ihnen einen kleinen Tipp geben. Folgendes mache ich:

Ich habe ein Verzeichnis, das .bash.din meinem aufgerufen wird $HOMEund in dem ich eine Reihe von Shell-Skripten verwalte, die meiner Umgebung etwas anhaben (zum Beispiel Maven richtig einrichten, den Pfad ändern, meine Eingabeaufforderung einstellen usw.). Ich behalte dies unter Versionskontrolle, indem ich git benutze , was es einfach macht, zu einer funktionierenden Version Ihres Env zurückzukehren, wenn Sie etwas falsch gemacht haben. Um alle Änderungen zu erhalten, entpacke ich einfach alle Dateien in diesem Verzeichnis am Ende meiner .bashrc-Datei wie folgt:

for i in $HOME/.bash.d/*; do source $i; done
unset i

Dies gibt Ihnen eine sehr flexible Umgebung, die Sie einfach ändern und wiederherstellen können. Sie können sie auch mit git auf andere Computer exportieren.

André
quelle
1

Eine Variante von oben, wenn Sie die Datei / etc / profile nicht direkt ändern möchten. Sie können eine neue Datei yourpath.sh im Verzeichnis /etc/profile.d/ erstellen . Dann bearbeiten Sie diese Datei wie folgt. Mit dem VIM-Editor (Sie können ihn aber auch mit einem anderen Editor bearbeiten): vim /etc/profile.d/yourpath.sh

MYPATH='/your/new/path/'
export MYPATH
export PATH=$PATH:$MYPATH

: w rite and q uit und es ist geschafft, dein Pfad wurde geändert. Wenn Sie das Terminal verwenden, schließen Sie es und öffnen Sie es erneut. Ihre neue Variable wird aktualisiert. Jetzt ist es sauberer, Sie können diese Datei entfernen, wenn Sie sie nicht mehr benötigen, und sie beeinträchtigt die Erstkonfiguration nicht.

Arthur Vandergood
quelle
(1) Solange PATHes exportiert wird, MYPATHmuss es nicht sein (es sei denn, Sie benötigen es für andere Zwecke). (2) Der schnelle Weg zum Speichern (Schreiben) und Beenden in vim ist ZZ- no :oder (Enter) erforderlich.
Scott
0

echo PATH = $ PATH: path1: path2> tmp

Bearbeiten Sie die Datei tmp mit Ihrem bevorzugten Texteditor, sodass der Wert von PATH genau Ihren Wünschen entspricht

. ./tmp

mealnor
quelle