Devi aggiungerlo al tuo ~/.profile
o ~/.bashrc
file.
export PATH="$PATH:/path/to/dir"
A seconda di ciò che stai facendo, potresti anche voler collegare simbolicamente ai binari:
cd /usr/bin
sudo ln -s /path/to/binary binary-name
Tieni presente che questo non aggiornerà automaticamente il tuo percorso per il resto della sessione. Per fare ciò, dovresti eseguire:
source ~/.profile
or
source ~/.bashrc
In Ubuntu, modifica /etc/environment
. Il suo unico scopo è memorizzare le variabili d'ambiente . Originariamente la variabile $PATH è definita qui.
Questa è una copia del mio /etc/environment
file:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
Quindi puoi semplicemente aprire questo file come root e aggiungere quello che vuoi.
Per immediato risultati,
Esegui (prova come utente normale e radice):
source /etc/environment && export PATH
Se usi la shell Z (zsh
), aggiungi questa riga subito dopo i commenti in /etc/zsh/zshenv
file:
source /etc/environment
Ho riscontrato questa piccola stranezza su Ubuntu 15.10 (Wily Werewolf), ma se il tuo zsh non riceve il PATH corretto , questo potrebbe essere il motivo.
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 e export
o set
comandi.
A livello di sistema
-
/etc/environment
Elenco di incarichi univoci. Consente referenze. Perfetto per aggiungere directory a livello di sistema come/usr/local/something/bin
aPATH
variabile o definendoJAVA_HOME
. Utilizzato da PAM e systemd. -
/etc/environment.d/*.conf
Elenco di incarichi univoci. Consente referenze. Perfetto per aggiungere directory a livello di sistema come/usr/local/something/bin
aPATH
variabile o definendoJAVA_HOME
. La configurazione può essere suddivisa in più file, solitamente uno per ogni strumento (Java, Go e Node.js). Utilizzato da systemd che per impostazione predefinita non passa questi valori alle shell di login degli utenti. -
/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 Window System. È una buona scelta perPATH
voci valide per ogni utente come/usr/local/something/bin
. Il file è incluso da altri script, quindi usa la sintassi della shell POSIX e non la sintassi della tua shell utente. -
/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 in modalità login. -
/etc/<shell>.<shell>rc
. Script di shell. Questa è una scelta sbagliata perché è specifica per singolo guscio. Utilizzato in modalità senza accesso.
Sessione utente
-
~/.pam_environment
. Elenco di incarichi univoci, non sono consentiti riferimenti. Caricato da PAM all'inizio di ogni sessione utente irrilevante se si tratta di una sessione o di una shell del sistema X Window. Non puoi fare riferimento ad altre variabili tra cuiHOME
oPATH
quindi ha un uso limitato. Utilizzato da PAM. -
~/.xprofile
Script di shell. Questo viene eseguito quando l'utente accede al sistema X Window System. Le variabili qui definite sono visibili a ogni applicazione 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
,~/.<shell>_profile
,~/.<shell>_login
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. Utilizzato dalle shell in modalità login. -
~/.<shell>rc
. Script di shell. Questa è una scelta sbagliata perché è specifica per singolo guscio. Utilizzato dalle shell in modalità non di accesso.
Note
GNOME su Wayland avvia una shell di accesso utente per ottenere l'ambiente. Utilizza efficacemente le configurazioni della shell di login ~/.profile
, ~/.<shell>_profile
, ~/.<shell>_login
file.
Pagine man
- ambiente
- environment.d https://linux.die.net/man/1/environment.d
- bash
- trattino
Documentazione specifica della distribuzione
- Ubuntu
- Arch Linux
Correlati
Differenza tra shell di login e shell non di login?