La risposta di Grzegorz Żur a un'altra domanda lo coglie brillantemente. Purtroppo è stato nascosto tra molte altre risposte.
Ci sono diversi modi per farlo. La soluzione effettiva dipende dallo scopo.
I valori delle variabili sono generalmente memorizzati in un elenco di assegnazioni o in uno script di shell che viene eseguito all'avvio del sistema o della sessione utente. Nel caso dello script di shell devi usare una specifica sintassi di shell.
A livello di sistema
/etc/environment
Elenco di incarichi univoci. Perfetto per aggiungere directory a livello di sistema come/usr/local/something/bin
aPATH
variabile o definendoJAVA_HOME
./etc/xprofile
Script di shell eseguito durante l'avvio della sessione di X Window System. Questo viene eseguito per ogni utente che accede a X WindowSystem. È una buona scelta perPATH
voci che sono valide per ogni utente come/usr/local/something/bin
. Il file è incluso da un altro script, quindi usa la sintassi della shell POSIX e non la sintassi della tua usershell./etc/profile
e/etc/profile.d/*
Script di shell. Questa è una buona scelta per i sistemi solo shell. Questi file vengono letti solo dalle shell./etc/<shell>.<shell>rc
. Script di shell. Questa è una scelta sbagliata perché è specifica per una singola shell.
Inoltre, /etc/environment
non è un file di script, ma piuttosto consiste in espressioni di assegnazione, una per riga. Poiché questo file memorizza le impostazioni locali e del percorso a livello di sistema, è la scelta più spesso citata. Utilizzo di /etc/profile
non è preferito. Esiste solo per puntare a /etc/bash.bashrc
e per raccogliere voci da /etc/profile.d
Sessione utente
~/.pam_environment
. Elenco di incarichi univoci. Caricato da PAM all'inizio di ogni sessione utente irrilevante se si tratta di una sessione o di una shell del sistema XWindow. Non puoi fare riferimento ad altre variabili, inclusoHOME
oPATH
quindi ha un uso limitato.~/.xprofile
Script di shell. Questo viene eseguito quando l'utente accede al sistema X Window System. Le variabili qui definite sono visibili a tutte le applicazioni X. Scelta perfetta per estenderePATH
con valori come~/bin
o~/go/bin
o definireGOPATH
specifico dell'utente oNPM_HOME
. Il file è incluso da altri script, quindi usa la sintassi della shell POSIX e non la sintassi della tua shell utente. Il tuo editor di testo grafico o IDE avviato tramite scorciatoia vedrà questi valori.~/.profile
Script di shell. Sarà visibile solo per i programmi avviati dal terminale o dall'emulatore di terminale. È una buona scelta per i sistemi solo shell.~/.<shell>rc
. Script di shell. Questa è una scelta sbagliata perché è specifica per una singola shell.
Per modifiche temporanee:
~$ export PATH=$PATH:~/root/scripts
Per modifiche permanenti, puoi aggiungere questa riga a /etc/environment
file come questo:
PATH=$PATH:~/root/scripts