Come posso ricaricare
.bash_profile
dalla riga di comando ?
Posso fare in modo che la shell riconosca le modifiche .bash_profile
uscendo e riconnettendo ma vorrei essere in grado di farlo su richiesta.
Come posso ricaricare
.bash_profile
dalla riga di comando ?
Posso fare in modo che la shell riconosca le modifiche .bash_profile
uscendo 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 source
comando.
.
è più vecchio di source
IS.
source
è un'implementazione specifica bash di.
.
e source
sono 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_profile
al ~/.bashrc
file.
Nota:
Quando si apre un terminale, il terminale inizia bash in modalità interattiva (non di accesso), il che significa che verrà fornito ~/.bashrc
.
~/.bash_profile
viene 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 -l
parametro 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 exit
la terminerà completamente, invece di lasciarti alla shell precedente.
Aggiungi alias bashs="source ~/.bash_profile"
al tuo file bash. Quindi puoi chiamare bashs
dalla 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_profile
o 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 bash
per raggiungere questo obiettivo. Non posso dire se funzionerà su tutte le altre distribuzioni.
. .bash_profile
mentre 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
.