Possibile duplicato:
differenza tra .bashrc e .bash_profile
Qual è la differenza tra .profile
e .bash_profile
e quando si configura quale?
Vale a dire se configuro il .bash_profile
, devo ancora configurare .profile
?
Possibile duplicato:
differenza tra .bashrc e .bash_profile
Qual è la differenza tra .profile
e .bash_profile
e quando si configura quale?
Vale a dire se configuro il .bash_profile
, devo ancora configurare .profile
?
Risposte:
Supponendo che bash
sia la shell predefinita, le differenze sono descritte nella bash
pagina man ( man bash
):
When bash is invoked as an interactive login shell, or as a non-interac-
tive shell with the --login option, it first reads and executes commands
from the file /etc/profile, if that file exists. After reading that file,
it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that
order, and reads and executes commands from the first one that exists and
is readable. The --noprofile option may be used when the shell is started
to inhibit this behavior.
Ci sono maggiori dettagli nella pagina man che copre la modalità di compatibilità con shell POSIX, da dove .profile
proviene. Leggi l'intera sezione della pagina man per tutti i dettagli.
Se configuri .bash_profile
, non dovrai anche configurare .profile
.
Mi piace mantenere i miei alias e i miei comandi in .profile
modo che se sbaglio qualcosa, so che posso sempre eliminare .profile
senza influenzare il sistema in generale o altre applicazioni che modificano .bash_profile
(come MacPorts).
Per usare a .profile
, potresti aver bisogno di includere la riga source ~/.profile
tra le tue in .bash_profile
modo che il .profile
file venga letto (vedi la risposta di Ned Deily).
.profile viene eseguito da bash quando si ottiene un normale processo di shell, ad esempio quando si apre uno strumento terminale. .bash_profile viene eseguito da bash per le shell di login, quindi ad esempio quando si telnet / ssh nella propria macchina in remoto. Ad esempio, se si esegue l'accesso remoto a una macchina (diciamo che si apre un terminale X), inizialmente verrà eseguito .bash_profile. Se in quel XTerminal si digita "xterm" e si genera un altro X Terminal, allora .profile verrà eseguito per la seconda istanza di XTerminal. I file risiedono nella tua home directory (~). Se non sbaglio per impostazione predefinita, entrambi eseguono ~ / .bashrc in modo da poterlo modificare per configurare impostazioni / variabili comuni sia per le shell di login che per quelle non di login (es. Impostazione PATH, alcuni alias / scorciatoie ecc.).
.profile
?
per la configurazione semplice e veloce (dove non vuoi cose complicate) configura semplicemente tutto nel tuo ~ / .profile. Solo quando ti imbatti in qualche problema (ma probabilmente non lo saprai mai) scopri di più sul .bash_login o .bash_profile;)
Sono anche su OS X e non ho mai avuto bisogno di .bash_profile o .bash_login e utilizzo solo .profile, ma il tuo chilometraggio può variare ...
.profile
solo.bashrc
:(