Variabile PATH permanente


38

Come renderò /media/De Soft/mongodb/binpermanente questa variabile PATH?

Tutti dicono " export PATH=$PATH:media/De\ Soft/mongodb/binal tuo ~/.profile, o .bashrc, o .zshenvsecondo il tuo guscio".

Non so cosa sia ~/.profile, o .bashrc, o .zshenv. Cosa fanno realmente?

Come aggiungerò export PATH=$PATH:my/pathal mio .profile / .bashrc / .zshenv?

Sto usando Ubuntu 14.04 LTS a 64 bit con terminale predefinito.

Risposte:


70

Sono file di configurazione. Senso unico:

  • Apri una finestra del terminale usando Ctrl + Alt + T
  • Esegui il comando gedit ~/.profile
  • Aggiungi la linea

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

    in fondo e salva

  • Disconnettersi e riconnettersi

Modificare:

Un modo più sicuro è usare le virgolette. Ciò è necessario se una o più directory nell'originale PATHcontengono spazi. Così:

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

@GunnarHjalmarsson, devo davvero esportare PATH var? Forse, è fatto di default in qualche altro script? Ho controllato da ~ / .profile e un percorso var è lì, ma non è esplicitamente esportare: PATH = ~ / .local / bin: $ JAVA_HOME / bin: $ PATH
yuranos87

4
@ yuranos87: ​​No, hai ragione; quando si modifica PATHin ~/.profile, l'esportazione è ridondante, poiché PATHè già una variabile di ambiente.
Gunnar Hjalmarsson,

1
Non è necessario disconnettersi e accedere nuovamente. Usa source ~/.profile.
timbo,

1
@timbo: ciò non rende la variabile disponibile per i processi già avviati nella sessione (ad eccezione del terminale corrente).
Gunnar Hjalmarsson,

1
Non hai bisogno di un segno di virgolette nella stringa come in export PATH="$PATH:/media/De\ Soft/mongodb/bin"? È opzionale?
Bruno Bentzen,

4

Digitare quanto segue in una finestra del terminale

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

Chiudi il terminale e riavvia il computer. Il percorso dovrebbe includere / media / De \ Soft / mongodb / bin quando si digita questo nel terminale:

echo $PATH

13
Funziona solo per la sessione terminale corrente. Deve essere in ~/.profile(o ~/.bashrcsu distribuzioni GNU / Linux comuni ... pari ~/.bash_profile) per essere eseguito su ogni carico della console.
Alejandro Iván,

concordato. ma al riavvio del sistema viene caricato nella variabile percorso.
Nivedita Velagaleti,

10
@NiveditaVelagaleti: No, a meno che tu non lo renda persistente tramite un file di configurazione. Il comando terminale non modifica in modo PATHpersistente.
Gunnar Hjalmarsson,

2

Per modificare in modo permanente PATHè necessario apportare modifiche al /etc/environmentfile. Effettua un backup prima della modifica:

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

uscita campione:

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

I percorsi sono delimitati da :così per aggiungere un nuovo percorso diciamo che x/y/zsarà il nostro /etc/environmentaspetto:

PATH="x/y/z:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.