Per prima cosa identifica la tua shell, come notato in un'altra risposta, questo è semplicemente fatto tramite il comando ps ...
$ ps
PID TTY TIME CMD
3360 pts/2 00:00:00 bash
3702 pts/2 00:00:00 ps
Per essere sicuri di quali file vengono letti, è necessario esaminare il sistema a cui si sta effettuando l'accesso. La shell "bash" ha molte opzioni "se questo", quindi "fai" altrimenti "fai qualcos'altro". Per vedere una descrizione completa di quali file provengono vedere qui , ma in genere l'elenco è ...
- / Etc / profile
- $ HOME / .bash_profile
- $ HOME / .bashrc (se configurato nel file .bash_profile)
- $ HOME / .bash_logout (al logout, non al login)
Per la shell bourne ('sh') generalmente si procede come segue quando si accede
- / Etc / profile
- $ HOME / .profile
Quello che mi piace fare sui sistemi con cui non ho familiarità è una riga in tutti i file di avvio che mi aspetto di leggere per verificare se l'output standard è collegato a un terminale e se viene visualizzato il nome del file. In questo esempio lo sto usando nel file .bash_profile.
[ -t 1 ] && echo "reading .bash_profile"
Funziona con bash o sh (e anche con alcuni altri derivati). Questo aiuta perché so cosa viene letto, quando e se ricevo errori, so da quale file provengono (gli errori prima del primo messaggio con eco sono probabilmente dovuti al processo di accesso stesso o dal sistema / etc / profile a livello di sistema.
Inoltre, non dimenticare che puoi sempre creare i tuoi file di avvio personalizzati e includerli tu stesso includendoli in un file che è già di provenienza.