Skip to content

Repository files navigation

Minishell

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.


Features

  • Command Parsing and Execution:
    Supports standard Linux commands with arguments and modifiers.
  • Advanced Shell Operations:
    • Pipes (|)
    • Redirections (>, <)
    • Here-docs (<<)
    • Parentheses (())
    • Conditional Operators (&&, ||)
    • Simple Expansions (*)
  • Abstract Syntax Tree (AST) for efficient parsing and execution logic.

Collaboration

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.

Getting Started

  1. Clone the Repository:
    git clone https://github.com/username/minishell.git
    cd minishell
  2. Simply run make to compile the shell:
make
  1. To launch the shell run:
./minishell

About

Projet minishell 42

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages