Connaître l'ordre d'exécution des variables d'environnement pour différents OS Shell est très important pour un administrateur système. Cela peut être utile pour configurer des tâches cron ou pour comprendre les différences entre les commandes exécutées dans un shell interactif et les tâches par lots utilisant un shell non interactif.
1. Coque :CSH
Démarrage (commande) :
--> .cshrc (always) --> .login (login shells)
Résiliation :
--> .logout (login shells)
Autres :
.history (saves history based on "$savehist")
2. Coque :tcsh
Démarrage (commande) :
--> /etc/csh.cshrc (always) --> /etc/csh.login (login shells) --> .tcshrc (always) --> .cshrc (if no .tcshrc file is present) --> .login (login shells)
Résiliation :
-->.logout (login shells)
Autres :
--> .history (saves history based on "$savehist") --> .cshdirs (saves directory stack)
3. Coque :sh
Démarrage (commande) :
--> /etc/profile (login shells)
Résiliation :
Any command or script specified using the command: trap "command" 0
Autres :
--> .profile (login shells)
4. Coque :ksh
Démarrage (commande) :
--> /etc/profile (login shells) --> .profile (login shells) --> $ENV (always, if it is set)
Résiliation :
Any command or script specified using the command: trap "command" 0
5. Coque :bash
Démarrage (commande) :
--> /etc/profile (login shells) --> .bash_profile (login shells) --> .profile (login if no .bash_profile file is present) --> .bashrc (interactive non-login shells) --> $ENV (non-interactive shells)
Résiliation :
--> .bash_logout (login shells)
Autres :
--> .inputrc (readline initialization)
6. Shell :zsh
Démarrage (commande) :
--> .zshenv (always, unless the -f option is specified) --> .zprofile (login shells) --> .zshrc (interactive shells, unless the -f option is specified) --> .zlogin (login shells)
Résiliation :
--> .zlogout (login shells)