Skip to content

Minishell is a basic Unix shell for executing commands and managing processes 🖥️

Notifications You must be signed in to change notification settings

Lilien86/Minishell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🖳 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

About

Minishell is a basic Unix shell for executing commands and managing processes 🖥️

Topics

Resources

Stars

Watchers

Forks