Aller au contenu principal
Tous les projets

Minishell

Shell UNIX — processus, pipes, redirections, signaux

Interpréteur de commandes écrit en C : création de processus, chaînage par pipes, redirections, variables d'environnement et gestion des signaux.

Captures

Contexte

Un shell est un excellent révélateur : il oblige à comprendre `fork`, `execve`, `dup2` et `waitpid` pour de vrai, et surtout à gérer les cas limites — une redirection qui échoue, un signal reçu pendant l'exécution d'un enfant, une commande introuvable au milieu d'un pipeline. Le parsing a demandé autant de travail que l'exécution : quotes, expansions et opérateurs doivent être traités dans le bon ordre pour que le comportement reste conforme à celui de bash.

Fonctionnalités

  • Interpréteur de commandes UNIX complet
  • Gestion des pipes et des redirections
  • Variables d'environnement et signaux
  • Built-ins : echo, cd, pwd, export, unset, env, exit
  • Historique des commandes
  • Parsing robuste avec gestion d'erreurs