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/environmentElenco di incarichi univoci. Perfetto per aggiungere directory a livello di sistema come/usr/local/something/binaPATHvariabile o definendoJAVA_HOME./etc/xprofileScript 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 perPATHvoci 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/profilee/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, inclusoHOMEoPATHquindi ha un uso limitato.~/.xprofileScript 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 estenderePATHcon valori come~/bino~/go/bino definireGOPATHspecifico 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.~/.profileScript 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