Come posso ricaricare
.bash_profiledalla riga di comando ?
Posso fare in modo che la shell riconosca le modifiche .bash_profileuscendo e riconnettendo ma vorrei essere in grado di farlo su richiesta.
Come posso ricaricare
.bash_profiledalla riga di comando ?
Posso fare in modo che la shell riconosca le modifiche .bash_profileuscendo e riconnettendo ma vorrei essere in grado di farlo su richiesta.
Risposte:
Digita semplicemente source ~/.bash_profile
In alternativa, se ti piace salvare le sequenze di tasti puoi digitare . ~/.bash_profile
alias reload='source ~/.bash_profile && echo "File .bash_profile reloaded correctly" || echo "Syntax error, could not import the file"';
. ~/.bash_profile
Assicurati solo di non avere dipendenze dallo stato corrente lì dentro.
.comando in questo caso?
. è semplicemente un alias per il sourcecomando.
.è più vecchio di sourceIS.
sourceè un'implementazione specifica bash di.
.e sourcesono letteralmente la stessa cosa in bash. Dal link: " sourceè sinonimo di punto / punto ." in bash, ma non in POSIX sh, quindi per la massima compatibilità utilizzare il punto ".
Digita semplicemente:
. ~/.bash_profile
Tuttavia, se si desidera eseguirne l'esecuzione automatica all'avvio del terminale anziché eseguirlo ogni volta che si apre il terminale, è possibile aggiungere . ~/.bash_profileal ~/.bashrcfile.
Nota:
Quando si apre un terminale, il terminale inizia bash in modalità interattiva (non di accesso), il che significa che verrà fornito ~/.bashrc.
~/.bash_profileviene fornito da bash solo quando avviato in modalità di accesso interattivo . Ciò avviene in genere solo quando si accede alla console ( Ctrl+ Alt+ F1.. F6) o ci si connette tramite ssh.
Puoi anche usare questo comando per ricaricare il ~ / .bash_profile per quell'utente. Assicurati di usare il trattino.
su - username
Mi piace il fatto che dopo aver appena modificato il file, tutto ciò che devi fare è digitare:
. !$
Questo genera il file che hai appena modificato nella cronologia. Vedi Cos'è il bang bang in bash .
cd . .bash_profile cd. Non c'è bisogno di ~.
cd: puoi semplicemente ricaricarlo dalla directory in cui ti trovi attualmente:. ~/.bash_profile
Se non ti dispiace perdere la cronologia del tuo terminale shell corrente, potresti farlo
bash -l
Ciò rovescerebbe la tua shell e aprirà un altro processo figlio di bash. Il -lparametro dice a bash di funzionare come shell di login, questo è necessario perché .bash_profile non verrà eseguito come shell di non login, per maggiori informazioni su questa lettura qui
Se vuoi sostituire completamente la shell corrente puoi anche fare:
exec bash -l
Quanto sopra non eseguirà il fork della shell corrente ma la sostituirà completamente, quindi quando si digita exitla terminerà completamente, invece di lasciarti alla shell precedente.
Aggiungi alias bashs="source ~/.bash_profile"al tuo file bash. Quindi puoi chiamare bashsdalla prossima volta
reset- più facile da ricordare
se il file .bash_profile non esiste, puoi provare a eseguire il comando seguente:
. ~/.bashrc
o
source ~/.bashrc
invece di .bash_profile. Puoi trovare maggiori informazioni su bashrc
Volevo pubblicare una risposta rapida che durante l'utilizzo source ~/.bash_profileo le risposte sopra menzionate funzionano, una cosa da menzionare è che questo ricarica solo il tuo profilo bash nella scheda o sessione corrente che stai visualizzando. Se desideri ricaricare il tuo profilo bash su ogni scheda / shell, devi inserire questo comando manualmente in ognuno di essi.
Se usi iTerm, puoi usare CMD⌘+ Shift+ Iper inserire un comando in tutte le schede correnti . Per il terminale può essere utile fare riferimento a questo problema ;
devi solo digitare . ~/.bash_profile
consultare: /superuser/46139/what-does-source-do
Uso Debian e posso semplicemente digitare exec bashper raggiungere questo obiettivo. Non posso dire se funzionerà su tutte le altre distribuzioni.
. .bash_profilementre sei nella tua home directory su Mac farà il lavoro. Stessa risposta fornita da 7urkm3n.
alias reload!=". ~/.bash_profile"
o se vuoi aggiungere i log tramite le funzioni
function reload! () {
echo "Reloading bash profile...!"
source ~/.bash_profile
echo "Reloaded!!!"
}
. ~/. bash_profile nésource ~/.bash_profile
Sto eseguendo Sierra e ci sto lavorando da un po '(provando tutte le soluzioni consigliate). Mi sono confuso, quindi alla fine ho provato a riavviare il mio computer! Ha funzionato
la mia conclusione è che a volte è necessario un hard reset
alias BASHRELOAD=". ~/.bash_profile". Se lo fai spesso puoi semplicemente dirlo comebr.