Come posso modificare $ PATH su Linux?


45

Sto usando Ubuntu 9.04, devo aggiungere una cartella al mio $ PATH. So leggere il percorso:

echo $PATH

Voglio essere in grado di modificarlo e aggiungere altri 2 percorsi.

Grazie


2
Una volta che siete in grado di d questo si consiglia di eseguire le operazioni più sofisticate sul PERCORSO: stackoverflow.com/questions/273909/...
dmckee

Appartiene ai siti Unix o Ubuntu.
Thomas Bratt,

Risposte:


43

Per memorizzare permanentemente il tuo percorso, hai alcune opzioni.

Ti suggerisco di leggere la wiki della comunità Ubuntu su Variabili d'ambiente ma la risposta breve è il posto migliore ~/.profileper le tue impostazioni PATH per utente o /etc/profileper le impostazioni globali.

Fai qualcosa di simile export PATH=$PATH:/your/new/path/here


8
È importante notare che ci sono molte occasioni in cui il tuo profilo non viene eseguito (come quando uno script viene eseguito da cron). Se è necessario impostare un percorso specifico in PATH, uno script deve impostare quel percorso. Detto questo, gli script non dovrebbero mai fare affidamento su qualcosa che si trova nei loro percorsi e dovrebbero sempre usare percorsi assoluti, qualsiasi altra cosa è un problema di sicurezza.
Chas. Owens,

14
PATH=$PATH:newPath1:newPAth2
export PATH

3
Penso che puoi farlo tutto su una riga, se vuoi. export PATH = $ PATH: newPath1: newPAth2

2
Dipende dalla shell che stai usando. Su Solaris (so che la domanda riguarda Linux) una delle shell (non ricordo quale delle mie teste) richiede che tu faccia l'esportazione separatamente dall'impostazione del valore in uno script. Quindi ho appena preso l'abitudine di farlo su 2 righe.
Glen,

7

Puoi anche inserirlo nell'ambiente globale:

sudo emacs /etc/environment

Aggiungi alle voci già presenti nel tuo percorso

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

Ricarica l'ambiente

source /etc/environment

1
La modifica del file di ambiente era l'unico modo in cui potevo far cambiare il PERCORSO e rimanere cambiato.

2

Ha già ricevuto risposta su come farlo, ma vorrei darti un piccolo suggerimento. Ecco cosa faccio:

Ho una directory chiamata .bash.dnel mio $HOMEe all'interno della quale tengo una serie di script di shell che fanno cose nel mio ambiente (ad esempio, l'installazione è stata eseguita correttamente, il percorso è stato modificato, ho impostato il mio prompt ecc.). Tengo questo sotto controllo della versione usando git , il che rende facile tornare a una versione funzionante del tuo env, se rovini qualcosa di male. Per ottenere tutte le modifiche, ho semplicemente sorgente tutti i file in quella directory alla fine del mio .bashrc in questo modo:

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

Questo ti dà un ambiente molto flessibile che puoi facilmente modificare e ripristinare + puoi esportarlo su altre macchine semplicemente usando git.


1

Una variante dall'alto, se non si desidera modificare direttamente il file / etc / profile. È possibile creare un nuovo file yourpath.sh nella directory /etc/profile.d/ . Quindi modifica questo file in questo modo. Con vim editor (ma sentiti libero di modificarlo con un altro editor): vim /etc/profile.d/yourpath.sh

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

: w rite and q uit ed è fatto il tuo percorso è stato modificato. Se si utilizza il terminale, chiuderlo e riaprirlo. la tua nuova variabile verrà aggiornata. Ora è più pulito, puoi rimuovere questo file quando non ti serve più e non interferisce con la configurazione iniziale.


(1) Finché PATHviene esportato, MYPATHnon è necessario (a meno che non sia necessario per altri scopi). (2) Il modo rapido per salvare (scrivere) ed uscire da Vim è ZZ- no :o (Enter) richiesto.
Scott,

0

echo PATH = $ PATH: path1: path2> tmp

Modifica il file tmp con il tuo editor di testo preferito in modo che il valore di PATH sia esattamente quello che vuoi

. ./tmp

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.