A 42 Paris Project
Welcome to Minishell, a minimalistic yet powerful shell written entirely in C.
This project is part of the curriculum at 42 Paris, where the goal was to implement a fully interactive and functional Linux shell from scratch.
- Command Parsing and Execution:
Supports standard Linux commands with arguments and modifiers. - Advanced Shell Operations:
- Pipes (
|) - Redirections (
>,<) - Here-docs (
<<) - Parentheses (
()) - Conditional Operators (
&&,||) - Simple Expansions (
*)
- Pipes (
- Abstract Syntax Tree (AST) for efficient parsing and execution logic.
This project was developed in collaboration with Thomas Joyeux.
- My Contributions:
- Designed and implemented the parsing system using an Abstract Syntax Tree (AST).
- Developed the logic for command execution and redirections.
- This journey taught me a great deal about multi-processing, signals, and the Linux programming interface.
- Clone the Repository:
git clone https://github.com/username/minishell.git cd minishell - Simply run make to compile the shell:
make- To launch the shell run:
./minishell