GNU/Linux >> Linux Esercitazione >  >> Linux

Dove è impostata la variabile PATH in Ubuntu?

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

  1. /etc/environment Elenco di incarichi univoci. Perfetto per aggiungere directory a livello di sistema come /usr/local/something/bin a PATH variabile o definendo JAVA_HOME .
  2. /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 per PATH 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.
  3. /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.
  4. /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

  1. ~/.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, incluso HOME o PATH quindi ha un uso limitato.
  2. ~/.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 estendere PATH con valori come ~/bin o ~/go/bin o definire GOPATH 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.
  3. ~/.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.
  4. ~/.<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

Linux
  1. Nello script Python, come imposto PYTHONPATH?

  2. Come memorizzare un comando in una variabile in uno script di shell?

  3. Come impostare il percorso JAVA_HOME su Ubuntu?

  4. Directory di modifica dello script Shell con variabile

  5. Set Linux/Ubuntu:opzione illegale -o pipefail

Come impostare la tua variabile $PATH in Linux

Come scrivere uno script di shell in Ubuntu

Come memorizzare un comando Linux come variabile nello script della shell

Visualizzazione completa di dove è impostata la variabile Path in Bash?

2 modi per impostare in modo permanente la variabile $PATH in Ubuntu

Come creare ed eseguire uno script di shell in Ubuntu 22.04