Come modifico il mio PERCORSO in modo che le modifiche siano disponibili in ogni sessione del Terminale

48

Voglio aggiungere una directory per cercare il mio percorso di ricerca. So che devo modificare la variabile di ambiente PATH . Tuttavia, voglio che il cambiamento sia permanente, in modo che sia sempre attivo, per ogni finestra di Terminal (bash) che apro.

C'è un sovraccarico di informazioni confuse e possibilmente in conflitto nel link

Sto usando Ubuntu 10.04. Supponiamo di voler aggiungere /usr/local/foo al mio PATH . Quale file ( .bashrc , .profile , .bash_login , ecc ...) dovrei modificare e come dovrebbero apparire le nuove linee?

    
posta Joshua Flanagan 06.09.2010 - 18:56

6 risposte

59

Il seguente comando aggiunge un percorso al percorso corrente:

export PATH=$PATH:/my/custom/path

Se vuoi che il tuo setup esegua questo comando ogni volta, ci sono un certo numero di posti in cui puoi metterlo. Al momento dell'accesso, i seguenti script verranno eseguiti in questo ordine:

/etc/profile      (which starts by loading everything in /etc/profile.d)
~/.profile        (which starts by loading ~/.bashrc if you are running bash)

Note

  • ~/.profile viene caricato solo se ~/.bash_profile e ~/.bash_login NON ESISTE. Altrimenti, almeno bash, li caricherà invece. È consigliabile utilizzare .profile e non gli script specifici di bash. Quindi, se in questi tentativi hai creato .bash_login , per favore cancellalo ora.

  • ~/.bashrc viene caricato solo se stai eseguendo una sessione interattiva. (qualcosa con un prompt in cui puoi effettivamente scrivere qualcosa).

  • ~/.bashrc viene caricato ancora e ancora, ogni volta che apri un nuovo terminale . Quindi una nuova scheda in gnome-terminal, un nuovo terminale virtuale, ecc. Quindi, anche se non accedi nuovamente, .bashrc viene caricato (e quindi ripristina il suo ambiente) ogni volta che apri una nuova shell.

  • Cose come byobu dovrebbero davvero andare in .profile , (altrimenti non funzionerà; -)

  • Cose come i percorsi dovrebbero andare in .profile se vuoi che funzionino al di fuori delle sessioni interattive. (diciamo quando premi Alt + F2 in GNOME)

risposta data Ralf 06.09.2010 - 20:25
13

Ho funzionato modificando ~/.profile

Sembra che l'aggiunta di ~ / bin al mio percorso fosse un cattivo esempio, dato che c'è già il codice in ~ / .profile per farlo automaticamente, se la directory esiste.

Per aggiungere la directory usr / local / foo al mio percorso per ogni sessione che va avanti, aggiungo / modifica la seguente riga alla fine del mio .profile:

export PATH=$PATH:/usr/local/foo

Tuttavia, per rendere effettive le modifiche, avevo bisogno di disconnettermi e ricollegarmi (semplicemente chiudendo la finestra di Terminal e aprendone una nuova NON funzionava).

    
risposta data Joshua Flanagan 06.09.2010 - 19:07
3

Per ricaricare .profile e prendere gli effetti delle modifiche senza eseguire il logout / login, eseguire:

source ~/.profile
    
risposta data Bruno Freitas 08.12.2015 - 11:43
3

Puoi aggiungere il percorso a /etc/environment , ma tieni presente che nessuna espansione di shell funzionerà; la variabile sarà impostata letteralmente sui caratteri che inserisci.

    
risposta data sagarchalise 08.09.2010 - 14:28
0

Puoi modificare il file .bashrc nella tua directory $HOME .

Alla fine di questo file, aggiungi la riga:

export PATH="$HOME/directory_to_include_in_path/:$PATH"

Puoi anche modificare il file .profile , anche nella tua directory $HOME , inclusa la seguente riga:

PATH="$HOME/directory_to_include_in_path/:$PATH"

Questo ha funzionato per me.

    
risposta data Denner Vieira 03.06.2017 - 16:23
-3
Going through the basics, I will suggest the following steps:
1. It's recommended to set environment variables in /etc/environment
2. Open the file as superuser in an editor as it's a read only file e.g.     gedit:
gksu gedit /etc/environment
3. System will need password to open it in editable mode. Enter your superuser password and get file opened in a new gedit window. 
4. Add new line at the end of file with 
export PATH=$PATH:/usr/local/foo
5. Save and close the window. It will get command back to terminal.
6. Refresh the environment by running the following command: 
. /etc/environment
7. You may check by executing the following command:
 echo $PATH
    
risposta data Mac 22.01.2016 - 21:00

Leggi altre domande sui tag