01 // LE PROJET EN BREF
MINISHELL 1
CÉcrire son propre shell : le programme qui lance tous les autres.
Tout ce qu'on tape dans un terminal passe par un shell. Ce projet consiste à en écrire un : lire une commande, trouver le programme correspondant sur le disque, le lancer dans un processus séparé, attendre qu'il se termine et recommencer. C'est le projet qui fait comprendre ce qui se passe réellement quand on appuie sur Entrée.
Shell minimal en C : boucle de lecture, découpage de la commande, résolution via PATH, création de processus par fork/execve et gestion des commandes internes.
PRINCIPALC
RÉALISATIONPROJET D’ÉQUIPE
VÉRIFICATIONCriterion
SOURCEINSPECTOR READY
03 // APPORTS CLÉS
- Comprendre concrètement ce que fait un terminal à chaque commande
- Distinction interne/externe : pourquoi cd ne peut pas être un programme
- Messages de terminaison reproduits signal par signal, comme le shell de référence
- Bonus : alias chargés au démarrage depuis un fichier .myshrc
AU-DELÀ DU SUJET
- Version bonus en arborescence séparée ajoutant les alias (my_alias.c) et la commande stat maison (my_stat.c)
- Douze fichiers de tests Criterion couvrant les commandes internes et la gestion d'erreur
04 // ARBORESCENCE DU CODE
LECTURE DES SOURCES…