Septième projet de 42 et premier projet de groupe.
L'objectif est de recréer un petit shell avec les caractéristiques suivantes :
- Historique des commandes
- Variables d'environements
- Redirections et pipes
- Signaux ctrl + c, ctrl + d, ctrl + \
Ainsi que les builtins suivants :
echo(avec l'option -n)cd(uniquement avec le chemin relatif ou absolu)pwd(sans aucune option)export(sans aucune option)unset(sans aucune option)env(sans aucune option ou argument)exit(sans aucune option)
Pour compiler le projet, exécutez la commande suivante :
make
Pour compiler les tests unitaires, exécutez la commande suivante :
make test
Pour lancer le programme, ./minishell mode debug
Exemple :
./minishell DEBUG=0
-------- 🚧 DEBUG 🚧 --------
🧩 node: 0
builtin: 0
path: /bin/ls
args: /bin/ls
args: -la
fd_in : 0
fd_out : 0
pipe_in : 5
pipe_out : 6
error: 0
------------------------------------- 🚧 DEBUG 🚧 --------
🧲 parsing: 6
{echo}{pif}{|}{cat}{|}{rev}
------------------------------------- 🚧 DEBUG 🚧 --------
💈 lst_env:
---
key : _
value : /usr/bin/env
displayable : 1
---
key : PWD
value : /Users/*****/Projets/42/minishell-private
displayable : 1
-----------------------------Les tests unitaires s'executent de la façon suivante :
./utest
![]() |
| Correcteur 1 | ![]() |
| Correcteur 2 | ![]() |
| Correcteur 3 | ![]() |
![]() |
![]() |
|---|---|
| Yvan | Florian |






