Minishell
Céation d'un terminal en C.
Description
Projet 42 visant à créer un interpréteur de commandes (shell) similaire à bash. Ce projet est une excellente introduction aux systèmes UNIX.
Compétences Acquises
Programmation système
Compréhension du systéme UNIX
Compréhension du systéme UNIX
Gestion des processus
Decouvertes des processus (fork, exec, wait)
Decouvertes des processus (fork, exec, wait)
Parsing
Gestion des Inputs et parsing avancé
Gestion des Inputs et parsing avancé
Signaux
Compréhension des effets des signaux (SIGINT, SIGQUIT, etc...)
Compréhension des effets des signaux (SIGINT, SIGQUIT, etc...)
Redirections
Gestions des pipes et des redirections.
Gestions des pipes et des redirections.
Stack Technique
- Langage: C
- Système: Linux/UNIX
- Outils: Makefile, GCC
Défis Relevés
- Boucle interactive : Implémentation du read-eval-print loop (REPL)
- Gestion des signaux : Comportement comme bash (Ctrl+C, Ctrl+)
- Parsing complexe : Gestion des quotes, redirections, pipes
- Builtins : Implémentation de cd, echo, env, export, unset, etc.
Fonctionnalités
- Commandes (cd, echo, pwd, export, unset, env, exit)
- Redirections (
>,>>,<) - Pipes (
|) - Variables d'environnement
- Gestion des erreurs