Projet : B-PSU-210
École : Epitech
Année : 2024
Le projet 42sh consiste à développer un shell Unix en C, compatible avec tcsh, dans le cadre du cursus de programmation système. Ce shell devra être capable de parser et d'exécuter des commandes tout en prenant en charge diverses fonctionnalités de base telles que les redirections, les pipes, les variables d'environnement et bien plus encore.
- Nom binaire :
42sh - Nom du dépôt :
PSU_42sh_$ACADEMICYEAR - Langage : C
- Compilation : Utilisation d'un
Makefileavec les règlesre,clean, etfclean.
Le shell doit prendre en charge les fonctionnalités suivantes :
- Gestion des espaces et tabulations.
- Prise en charge de
$PATHet des variables d'environnement. - Gestion des redirections (
<,>,<<,>>). - Gestion des pipes (
|). - Implémentation des builtins :
cd,echo,exit,setenv,unsetenv. - Gestion des séparateurs (
;,&&,||). - Gestion des erreurs et des valeurs de retour.
Ces fonctionnalités sont fortement recommandées et apportent des points supplémentaires :
- Inhibiteurs (
\). - Globbings (
*,?,[]). - Gestion des jobs (
&,fg). - Variables locales et d'environnement.
- Gestion de l'historique (
!). - Aliases.
- Édition de ligne : multi-lignes, rebinding dynamique, autocomplétion.
Pour compiler et exécuter le shell, il suffit de suivre les commandes suivantes :
make
./42shPour nettoyer les fichiers objets et binaires :
make clean
make fclean$ ./42sh
42sh> cd ; </etc/hosts od -c | grep xx | wc >> /tmp/z -l ; cd - && echo "OK"- Formez une équipe solide et répartissez intelligemment le travail.
- Utilisez Git pour suivre l'évolution du code, et n'hésitez pas à utiliser des branches.
- Écrivez des tests unitaires régulièrement pour garantir la stabilité de votre code.
Équipe : Moana, Arthur, Aaron, Simon
Epitech Bordeaux : Promo 2028