Quelle est la différence entre un shell bash ‘Login’ et un shell bash ‘Interactive’? J'ai cité Wikipedia ci-dessous mais est-ce que quelqu'un peut donner une meilleure réponse?
EDIT : Ceci est un wiki communautaire donc plutôt que de voter pour fermer, pourriez-vous fournir des exemples de situations qui nécessitent quel type de $SHELL
Scripts de démarrage
Lorsque Bash démarre, il exécute les commandes dans différents scripts.
Lorsque Bash est invoqué en tant que shell de connexion interactif, il lit d'abord et exécute 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 du premier qui existe et est lisible.
Lorsqu'un shell de connexion se termine, Bash lit et exécute les commandes du fichier ~/.bash_logout, s'il existe.
Lorsqu'un shell interactif qui n'est pas un shell de connexion est lancé, Bash lit et exécute les commandes de ~/.bashrc, si ce fichier existe. Cela peut être inhibé en utilisant l'option --norc. L'option --rcfile fichier forcera Bash à lire et exécuter les commandes de fichier au lieu de ~/.bashrc.
2 votes
J'ai édité la question pour qu'elle corresponde davantage aux règles du site à moitié fait. Je ne pense pas que je comprendrai jamais le désir de supprimer des informations utiles...
9 votes
Pourquoi les gens votent-ils négativement cette question ? Pour moi, cela semble totalement légitime.
3 votes
Ugh, retirez la réponse de votre question, et publiez-la ensuite comme réponse. Il est permis de répondre à sa propre question.
4 votes
C'est une question très valide car la distinction est confuse. Notez par exemple que lorsque vous vous connectez à un environnement graphique via xdm et exécutez xterm, vous obtenez un shell interactif et les fichiers de démarrage du shell de connexion ne sont pas exécutés.