01 — Parsing
Reading between commands.
Before executing anything, the shell needs to understand what the user wrote. Quotes, spaces, variables, redirections and pipes quickly turn a simple line of text into a real parsing problem.

Unix / System programming / 2024
42 project
Building a minimalist shell to understand parsing, processes, redirections and pipes.
Stack
Skills gained
Links
Minishell consists in building a shell inspired by bash, able to interpret commands, handle pipes, redirections, environment variables and processes. It is a dense project that combines parsing, Unix system programming and the organization of a larger C codebase.
01 — Parsing
Before executing anything, the shell needs to understand what the user wrote. Quotes, spaces, variables, redirections and pipes quickly turn a simple line of text into a real parsing problem.

02 — Processes
The core of the project relies on creating and coordinating processes. Fork, execve, wait, pipes and redirections help reveal how a shell actually orchestrates commands behind an apparently simple interface.

03 — Robustness
Minishell is mostly an exercise in robustness. It requires handling errors, signals, unexpected behaviors and many edge cases without losing control of the program’s internal state.
