Lors de la connexion, la plupart des shells exécutent un script de connexion, que vous pouvez utiliser pour exécuter votre script personnalisé. Le script de connexion que le shell exécute dépend, bien sûr, du shell :
- bash :.bash_profile, .bash_login, .profile (pour la rétrocompatibilité)
- sh :.profile
- tcsh et csh :.login
- zsh :.zshrc
Vous pouvez probablement savoir quel shell vous utilisez en faisant
echo $SHELL
à partir de l'invite.
Pour une définition légèrement plus large de "login", il est utile de savoir que sur la plupart des distributions lorsque X est lancé, votre .xsessionrc sera exécuté au démarrage de votre session X.
Extrait de wikipédia Bash
Lorsque Bash démarre, il exécute les commandes dans une variété de scripts différents.
Lorsque Bash est appelé en tant que shell de connexion interactif, il lit et exécute d'abord les commandes du fichier/etc/profile, si ce fichier existe. Après avoir lu ce fichier, il recherche ~/.bash_profile, ~/.bash_login et ~/.profile , dans cet ordre, et lit et exécute les commandes à partir de la première qui existe et est lisible.
Lorsqu'un shell de connexion se termine, Bash lit et exécute des commandes à partir du fichier ~/.bash_logout, s'il existe.
Lorsqu'un shell interactif qui n'est pas un shell de connexion est démarré, Bash lit et exécute des commandes à partir de ~/.bashrc, si ce fichier existe. Cela peut être inhibé en utilisant l'option --norc. L'option de fichier --rcfile forcera Bash à lire et exécuter des commandes à partir du fichier au lieu de ~/.bashrc.