Aggiorna le variabili env dopo aver modificato il file bashrc


59

Ho spesso modificato il .bashrcfile per esportare nuove variabili di ambiente.

Invece di chiudere la console e avviarne una nuova per aggiornare le variabili env, esiste un modo conveniente per aggiornare?

Risposte:


78

Nella stessa finestra, puoi semplicemente digitare bashper avviarne uno nuovo. Ciò equivale a chiudere la finestra e riaprirne una nuova.

In alternativa, è possibile digitare source ~/.bashrcper l'origine del .bashrcfile.


7
Non è necessario eseguire un'altra shell. sourceè il modo corretto
Matteo,

2
inoltre non è necessario digitare una parola lunga source. si può semplicemente digitare dot invece di esso: . ~/.bashrc.
precipita il

4
La digitazione @Rush sourcemostra all'utente quale comando viene chiamato. Non credo nel mostrare i comandi abbreviati ai nuovi utenti fino a quando non capiranno cosa sta facendo il codice.
n0pe

10
notare che il semplice approvvigionamento di bashrc non è necessariamente uguale a un riavvio di bash. le variabili definite non vengono automaticamente definite. le opzioni della shell non vengono automaticamente disattivate. sourcing bashrc esegue solo ciò che è scritto in bashrc. non esegue il rollback di altri cambiamenti nell'ambiente. anche l'avvio di una nuova sessione bash nel vecchio non è necessariamente uguale a un riavvio di bash, poiché il nuovo processo eredita l'ambiente dal vecchio.
lesmana,

2
@MaxMackie Considerando come sourceè un bashismo più lungo da scrivere ma non offre vantaggi rispetto al suo portatile su tutte le shell equivalenti, .non vedo il punto di incoraggiare nessuno, nuovo o esperto, a usarlo.
jw013,


3

Oltre a ciò che altri hanno suggerito, ho scoperto che sourcenon annullerà le variabili d'ambiente precedentemente assegnate. Quindi, se si desidera annullare l'impostazione delle variabili di ambiente, è necessario farlo manualmente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.