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 |