Skip to content

Latest commit

 

History

History
46 lines (35 loc) · 2.08 KB

README.md

File metadata and controls

46 lines (35 loc) · 2.08 KB

🖳 Minishell

🌐My Twitter account

The Minishell project is about building a simplified Unix shell, focusing on basic command execution, process management, and input/output handling to simulate core shell functionalities in a minimalistic style. 🚀

Untitled

How to use it :

(Works only on Mac or Linux) ⚠️

# Clone the repository
git clone https://github.com/Lilien86/42-minishell.git

# Navigate to the project directory
cd minishell

# Build the project using Make
make

# Run minishell and enjoy (:
./minishell

Features 🌟

  • Executes commands from an absolute, relative, or environment PATH like /bin/ls or ls.
  • Supports single and double quotes.
  • Redirections and pipes (>, >>, <<, <, |).
  • Handles environment variables ($HOME) and the return code ($?).
  • Ctrl-C, Ctrl-, and Ctrl-D are implemented to handle interrupts and exits.
  • Built-in functions: echo, pwd, cd, env, export, unset, and exit.
  • Using all commands of the original shell.

Sources

Credits

This project was made with Yvann in 3 months at 42 School.

  • I was responsible for the execution, redirection, multi pipes, here doc, and handleing files descriptor.
  • Yvann took care of the parsing, tokenise, signals and builtins.

You can find the subject publish on thsi web site