I .profilerisale al guscio originale Bourne noto come sh. Poiché la shell GNU bashè (a seconda delle sue opzioni) un superset della shell Bourne, entrambe le shell possono usare lo stesso file di avvio. Cioè, a condizione che shvengano inseriti solo i comandi.profile
Ad esempio, aliasè un comando incorporato valido bashma sconosciuto a sh. Pertanto, se avessi solo un .profilenella tua home directory e metti una aliasdichiarazione in esso, shsi lamenterebbe. Quindi esiste un file specifico di bash che ha comandi di inizializzazione della shell che bash leggerà se e solo se non è presente un .profilefile.
In realtà è un po 'una semplificazione eccessiva in alcune installazioni, e non ho familiarità con Fedora. Sotto bash, /etc/profileviene letto dalla shell prima di qualsiasi file nella tua home directory. Se esiste uno script di inizializzazione a livello di sistema, spesso si dice qualcosa del genere
if there is a $HOME/.profile:
source it
elseif bash is my shell and there is a $HOME/.bash_profile:
source that
Perché è così? Un tentativo di compatibilità attraverso decenni di dialetti shell. Perché il tutorial è scritto in questo modo? La shell Bourne non viene più utilizzata molto di più e alcune persone non sanno nemmeno che esiste un'altra shell simile a Bourne oltre a bash. Anche quando la sintassi (limitata) di Bourne viene utilizzata per una maggiore compatibilità multipiattaforma, viene spesso eseguita dasho bash in modalità di compatibilità POSIX. In effetti, l'attuale sorgente di shell Bourne è probabilmente un componente protetto da copyright di Unix System V che sembra essere di proprietà di Novell ora, ma non ho idea di cosa, se non altro, ci stanno facendo.
Per l'utente principiante, utilizzare uno $HOME/.profileo $HOME/.bash_profileentrambi, e andrà tutto bene. Dal momento che hai già .bash_profilelavorato su questo perché potrebbe contenere elementi specifici del sistema necessari per l'installazione.