Créer un mini interprétateur de commande UNIX
- Les lignes de commande doivent être simple (no pipes, no redirection ou autre fonction avancé)
- Les exécutables sont ceux que vous pouvez trouver dans les chemins indiqués dans la variable
PATH
- La gestion des erreurs doivent être gérer sans utiliser
erno
et adapté à la sortie d'erreur - Gestion de l'environnement
- Gestion propre du signal (Ctrl-c)
- Prompt dynamique
Implémentation d'une série de Builtins:
exit
echo
cd
env
setenv
unsetenv
L'interprétateur ne doit en aucun cas avoir de leaks.
Chaque erreur doit être gérer avec soin.
Le minishell ne doit pas quitter de manière inattendu (Segmentation fault, bus error, double free, etc).
Fonction autorisé pour la création:
malloc
, free
, access
, open
, close
, read
, write
, opendir
, readdir
, closedir
, getcwd
, chdir
, stat
, lstat
, fstat
, fork
, execve
, wait
, waitpid
, wait3
, wait4
, signal
, kill
, exit
Tout autre fonction est interdite.
Pour la compilation, lancer make
.
Puis ./minishell
Pour quitter exit