All'accesso, la maggior parte delle shell esegue uno script di accesso, che puoi utilizzare per eseguire il tuo script personalizzato. Lo script di login eseguito dalla shell dipende, ovviamente, dalla shell:
- bash:.bash_profile, .bash_login, .profile (per compatibilità con le versioni precedenti)
- sh:.profile
- tcsh e csh:.login
- zsh:.zshrc
Probabilmente puoi scoprire quale shell stai usando facendo
echo $SHELL
dal prompt.
Per una definizione leggermente più ampia di "login", è utile sapere che sulla maggior parte delle distribuzioni all'avvio di X, il tuo .xsessionrc verrà eseguito all'avvio della tua sessione X.
Da wikipedia Bash
Quando Bash si avvia, esegue i comandi in una varietà di script diversi.
Quando Bash viene invocato come shell di accesso interattivo, prima legge ed esegue i comandi dal file/etc/profile, se quel file esiste. Dopo aver letto quel file, cerca~/.bash_profile, ~/.bash_login e~/.profile , in quest'ordine, e legge ed esegue comandi dal primo che esiste ed è leggibile.
Quando una shell di login esce, Bash legge ed esegue comandi dal file~/.bash_logout, se esiste.
Quando viene avviata una shell interattiva che non è una shell di login, Bash legge ed esegue i comandi da ~/.bashrc, se quel file esiste. Questo può essere inibito usando l'opzione --norc. L'opzione file --rcfile costringerà Bash a leggere ed eseguire comandi da file invece di ~/.bashrc.