Permanente PATH-Variable

38

Wie mache ich diese /media/De Soft/mongodb/binPATH-Variable permanent?

Jeder sagt " export PATH=$PATH:media/De\ Soft/mongodb/binzu dir ~/.profileoder .bashrcoder .zshenvabhängig von deiner Muschel".

Ich weiß nicht was ist ~/.profile, oder .bashrc, oder .zshenv. Was machen sie eigentlich?

Wie füge ich export PATH=$PATH:my/pathmein .profile / .bashrc / .zshenv hinzu?

Ich verwende 64-Bit-Ubuntu 14.04 LTS mit Standard-Terminal.

Towhid
quelle

Antworten:

70

Sie sind Konfigurationsdateien. Einweg:

  • Öffnen Sie ein Terminalfenster mit Strg + Alt + T
  • Führen Sie den Befehl aus gedit ~/.profile
  • Fügen Sie die Zeile hinzu

    export PATH=$PATH:/media/De\ Soft/mongodb/bin

    nach unten und sparen

  • Melden Sie sich ab und wieder an

Bearbeiten:

Sicherer ist die Verwendung von Anführungszeichen. Dies ist erforderlich, wenn ein oder mehrere Verzeichnisse im Original PATHLeerzeichen enthalten. So:

export PATH="$PATH:/media/De Soft/mongodb/bin"
Gunnar Hjalmarsson
quelle
@GunnarHjalmarsson, muss ich PATH var wirklich exportieren? Vielleicht wird es standardmäßig in einem anderen Skript ausgeführt? Ich habe nach ~ / .profile gesucht und eine PATH-Variable ist vorhanden, sie wird jedoch nicht explizit exportiert: PATH = ~ / .local / bin: $ JAVA_HOME / bin: $ PATH
yuranos87
4
@ yuranos87: ​​Nein, du hast recht; Beim Ändern PATHin ~/.profileist das Exportieren überflüssig, da es sich PATHbereits um eine Umgebungsvariable handelt.
Gunnar Hjalmarsson
1
Sie müssen sich nicht abmelden und erneut anmelden. Verwenden Sie source ~/.profile.
Timbo
1
@timbo: Dadurch wird die Variable nicht für bereits gestartete Prozesse in der Sitzung verfügbar (mit Ausnahme des aktuellen Terminals).
Gunnar Hjalmarsson
1
Benötigen Sie kein Anführungszeichen in der Zeichenfolge wie in export PATH="$PATH:/media/De\ Soft/mongodb/bin"? Ist es optional?
Bruno Bentzen
4

Geben Sie Folgendes in ein Terminalfenster ein

export PATH=/media/De\ Soft/mongodb/bin:$PATH 

Schließen Sie das Terminal und starten Sie den Computer neu. Der Pfad sollte / media / De \ Soft / mongodb / bin enthalten, wenn Sie dies im Terminal eingeben:

echo $PATH
Nivedita Velagaleti
quelle
13
Das funktioniert nur für die aktuelle Terminalsitzung. Es muss sich in ~/.profile(oder ~/.bashrcauf üblichen GNU / Linux-Distributionen ... sogar ~/.bash_profile) befinden, damit es auf jeder Konsolenlast ausgeführt werden kann.
Alejandro Iván
einverstanden. Beim Neustart des Systems wird es jedoch in die Pfadvariable geladen.
Nivedita Velagaleti
10
@NiveditaVelagaleti: Nein, es sei denn, Sie machen es über eine Konfigurationsdatei dauerhaft. Der Terminalbefehl wird nicht PATHdauerhaft geändert .
Gunnar Hjalmarsson
2

Um sich dauerhaft zu ändern PATH, müssen Sie Änderungen an der /etc/environmentDatei vornehmen . Erstellen Sie vor dem Bearbeiten eine Sicherungskopie:

sudo cp /etc/environment /etc/environment.bak
sudo nano /etc/environment

Beispielausgabe:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

Pfade durch begrenzt , :so ein neuer Weg hinzuzufügen sagen x/y/zdies wird , wie unsere /etc/environmentaussieht:

PATH="x/y/z:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
Xaqron
quelle