Ricarica il profilo. Di bash senza disconnettersi e riconnettersi


81

È possibile forzare bash per ricaricare il file .profile senza disconnettersi e riconnettersi?

Risposte:


102

Questo dovrebbe funzionare per l'attuale terminale:

. ~/.profile

.è un bashbuiltin e un sinonimo di source, vedi man bash:

. nomefile [ argomenti ] nomefile
sorgente [ argomenti ]      Legge ed esegue i comandi dal nome file nell'ambiente shell corrente (...).


18
Sarà efficace solo nel terminale corrente.
enzotib,

@enzotib C'è un modo per aggirare questo?
Matty,

14
@Matty: no, per rendere visibili le modifiche all'intero ambiente grafico, puoi solo riavviare la sessione
enzotib

2
L'unico problema è che se rimuovi qualcosa dal percorso non avrebbe effetto fino al riavvio
Aras,

1
@Aras fa un PUNTO IMPORTANTE che merita l'espansione: se qualcosa viene rimosso da ~/.profile, quella modifica non avrà effetto dopo il . ~/.profilericaricamento. Ad esempio, aggiungere una funzione ~/.profile: function externalip () { curl http://ipecho.net/plain; echo; }, poi ~/.profile- FUNZIONA. Ora rimuovi quella funzione da ~/.profile, poi di . ~/.profilenuovo. La funzione è ancora disponibile: solo il riavvio (disconnessione e accesso) la rimuoverà.
Seamus,

13

Se non si desidera avviare una nuova shell ma eseguire lo script nella shell corrente, è necessario originarlo:

source script_name.sh

source = .

Il Bash sourceintegrato è sinonimo del .comando Bourne shell (punto).

cortesia - tldp.org

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.