Skip to content
SamirNaggaraPublic

About

Un shell POSIX minimal en C : lexer, parser, pipes, redirections, heredoc, builtins, signaux. 42 Paris

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

191 Commits

Folders and files

Repository files navigation

minishell

Un shell POSIX minimal écrit en C, projet du tronc commun de 42 Paris. Réalisé avec @Noralya, 189 commits.

Le but : réimplémenter le comportement de bash sur un périmètre précis, sans bibliothèque externe, avec une gestion mémoire irréprochable.

Ce qui est implémenté

  • Lexer et parser : gestion des guillemets simples et doubles, des redirections <, >, >>, << (heredoc) et des pipes
  • Expansion des variables d'environnement et de $?
  • Builtins : echo avec -n, cd, pwd, export, unset, env, exit
  • Exécution des commandes via PATH, pipelines à N commandes
  • Signaux : Ctrl-C, Ctrl-D, Ctrl-\ avec le même comportement que bash
  • Historique de commandes via readline

Architecture

lexer/     découpage en tokens
parser/    construction de la liste de commandes
expander/  variables et guillemets
executor/  fork, pipes, redirections
built_in/  builtins
signaux/   gestion des signaux et du terminal
libft-plus/ bibliothèque C personnelle (libft, printf, get_next_line)

Compiler et lancer

make
./minishell

About

Un shell POSIX minimal en C : lexer, parser, pipes, redirections, heredoc, builtins, signaux. 42 Paris

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages