Pages : 1
#1 Le 04/04/2017, à 17:18
- samfat
[Resolu] type de shell
bonjour
Prière quelqu'un peut m'expliquer si possible la différence entre Shell de connexion , Shell interactif et Shell non interactif et me donne un exemple d'utilisation de chaque Shell pour mieux comprendre ?
merci d'avance .
cordialement
Dernière modification par samfat (Le 05/04/2017, à 19:33)
Hors ligne
#2 Le 04/04/2017, à 18:18
- bruno
Re : [Resolu] type de shell
Bonjour,
Un shell de connexion ou « login shell » est le premier processus qui s'exécute en tant qu'utilisateur « toto » lorsque l'utilisateur « toto » ouvre une session interactive (console, ssh, etc.). La session interactive est ouverte après saisie du nom d'utilisateur et du mot de passe.
Lorsqu’un shell interactif est ouvert les fichiers /etc/profile ~/.profile, /etc/bash.bashrc, ~/.bashrc (bash étant le shell de l'utilisateur) sont interprétés. Il définissent un certains nombres de variables d'environnement, notamment $PATH qui permet de savoir où sont les exécutables.
Lorsque "toto" ouvre un terminal alors qu'il est déjà connecté en tant qu'utilisateur "toto" (via une session graphique par exemple), il s'agit d'un shell interactif simple (non login shell). En principe les fichiers définissant les variables d'environnement sont également interprétés.
Lorsqu'un script est appelé par un autre script (ou n'importe quel service ou programme) et non par un utilisateur connecté, il s'agit d'un shell non-interactif et non connecté (non login shell). C'est le cas d'une tâche cron, ou d'un script de démarrage par exemple. Dans ce cas les fichiers définissant les vriables d'environnement ne sont pas lus. Ainsi, une tâche cron ne connaît pas le PATH si on ne lui précise pas dans le crontab.
#3 Le 04/04/2017, à 18:20
- Watael
Re : [Resolu] type de shell
salut,
d'abord, c'est (ou ça peut être) le même shell.
ce qui diffère, c'est les conditions d'appel du shell dont découle les actions effectuées, et les configurations prises en compte.
cf. man bash, voir la section APPEL.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#4 Le 04/04/2017, à 20:49
- samfat
Re : [Resolu] type de shell
rebonjour
Merci beaucoup bruno pour l'explication avec le remarque du Watael c'est devenu plus clair
dans le man j'ai pas compris
Un interpréteur de commandes est dit de connexion (login shell) si le
premier caractère de son argument numéro zéro est un - ou s'il est
appelé avec l'option --login.
quelqu'un a une idée SVP
Dernière modification par samfat (Le 04/04/2017, à 21:07)
Hors ligne
#5 Le 04/04/2017, à 20:54
- Syrion
Re : [Resolu] type de shell
En principe les fichiers définissant les variables d'environnement sont également interprétés.
Normalement, le ~/.profile est lu uniquement au login shell, alors que la ~/.bashrc est lu pour chaque shell interactif démarré. Le fichier /etc/profile et toujours lu avant ~/.profile, le fichier /etc/bashrc est toujours lu avant ~/.bashrc ⇒ ces derniers définissent l'environnement par défaut valable pour tous les utilisateurs.
La séquence est différente en cvas de connexion via ssh pour des raisons de sécurité → RTFM car je ne m'en souvient plus ^^.
Ubuntu 24.04.4 amd64 sur Dell XPS 7590 15"
Ubuntu Server 24.04.4 Eeepc 1215P
Ubuntu 24.10 sur Ryzen 5 5600X, 32Go DDR4-3600, NVidia RTX 3060Ti
Hors ligne
#6 Le 05/04/2017, à 07:43
- bruno
Re : [Resolu] type de shell
dans le man j'ai pas compris
Un interpréteur de commandes est dit de connexion (login shell) si le premier caractère de son argument numéro zéro est un - ou s'il est appelé avec l'option --login.
quelqu'un a une idée SVP
C'est une convention un login shell est appelé avec le caractère - au moment de l'ouverture de session : -bash plutôt que bash.
Pour le voir ;
echo $0
ce qui donnera -bash dans une console (login shell) et bash dans un terminal d'une session graphique (non login shell)
#7 Le 05/04/2017, à 08:05
- Hizoka
Re : [Resolu] type de shell
merci bruno pour toutes ces informations
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#8 Le 05/04/2017, à 12:07
- samfat
Re : [Resolu] type de shell
Bonjour
Merci pour tous qui ont participé à cette discussion surtout bruno
Hors ligne
#9 Le 05/04/2017, à 17:00
- Hizoka
Re : [Resolu] type de shell
si c'est bon, ajoute [Résolu] dans ton titre de topic
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne