Est-ce que `.bashrc` est exécuté quand ubuntu 18 se connecte?

1

J'ai ajouté une ligne au début .bashrcqui est:

exit

Aucun terminal ne sera ouvert (comme d'habitude), mais Ubuntu 18.04 n'a jamais été en mesure de se connecter (à l'interface utilisateur).

J'ai pu me connecter ultérieurement en modifiant .bashrcl' interface de terminal racine en mode de récupération et en supprimant l' exitinstruction.

Ma question:

Cela signifie-t-il qu'Ubuntu est exécuté .bashrclorsqu'il se connecte? ..

Si tel est le cas, comment écrire une condition ( ifdéclaration) pour le cas log_in ou terminal_app seul?

Yasin Yousif
la source
man bash | less -p ^FILES
Cyrus le
1
Si votre .bashrcest basé sur celui par défaut d’Ubuntu, assurez-vous que toutes les commandes telles que exitsont placées après la case $- in ... esacsection si vous voulez qu’elles s’appliquent uniquement dans des shells interactifs
steeldriver
@steeldriver, ça marche, .. le commentaire ci-dessus (en .bashrc) l'explique. alors, est-ce .bashrcque l'exécution ne se fait pas de manière interactive lors de la connexion? (PS: si vous pouvez expliquer cela dans une réponse)
Yasin Yousif
@YasinYousif TBH Je n'en sais pas assez pour écrire une bonne réponse - je pense que cela dépend du gestionnaire d'affichage ( lightdm, gdmetc.) utilisé et de la manière dont il appelle exactement la session de bureau choisie par l'utilisateur
steeldriver

Réponses:

-1

~/.bashrcest exécuté uniquement lorsque vous ouvrez la fenêtre du terminal. Ou en d'autres termes, lorsque le bashprogramme est chargé à l'intérieur du terminal. Même chose pour ~/.zshrcaussi.

Je doute fort qu'un autre problème vous empêche de vous connecter.

Abdus
la source
2
Vous voudrez peut-être relire votre dernière phrase, je pense que vous vouliez dire le contraire.
dessert le
2
" ~/.bashrcest exécuté uniquement lorsque vous ouvrez la fenêtre du terminal", ce n'est pas tout à fait vrai. Il est directement recherché lorsqu'un shell interactif est appelé. Cependant, il est également généré indirectement par les shells de connexion via le ~/.profilefichier par défaut .
Steeldriver
1
@Yasin Yousif hé, consultez cette réponse. serverfault.com/a/753459 Si cela vous aide, faites le moi savoir. Je mettrai à jour ma réponse. Et merci à tous pour cette clarification.
Abdus le