en faisant su -, tu obtiens un shell de login.
Extrait du man bash :
Lorsque bash est lance comme shell de login interactif, ou comme shell
non-interactif avec l'option --login, il lit et execute tout d'abord
les commandes se trouvant dans le fichier /etc/profile s'il existe.
Apres lecture de ce fichier, il recherche ~/.bash_profile,
~/.bash_login, et ~/.profile, dans cet ordre, et execute les commande
se trouvant dans le premier fichier existant et accessible en lecture.
L'option --noprofile peut etre utilisee au demarrage du shell pour
empecher ce comportement.
Lorsqu'un shell de login se termine, bash lit et execute les commandes
du fichier ~/.bash_logout, s'il existe.
Quand un shell interactif demarre sans etre un shell de login, bash lit
et execute les commandes se trouvant dans ~/.bashrc s'il existe. Ce
comportement peut etre inhibe a l'aide de l'option --norc. L'option
--rcfile fichier forcera bash a executer les commandes dans fichier
plutot que dans ~/.bashrc.