Skip to content

About

Full implementation of a custom, minimalist shell based in Bash

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

🦀 42-Minishell 🦀

A minimalist Unix shell implementation developed at 42 School, based on bash.

✅ Features ✅

  • Command execution - Executes (and pipes) both commands with absolute path or in PATH
  • Builtins - Internal reimplementation of bash builtins: echo, cd, pwd, export, unset, env and exit
  • Redirections - Reimplementation of "<", ">", "<<" and ">>" for I/O redirections
  • Enviroment Variables - Management and expansion of enviroment variables (plus special variables like $? and ~)
  • Signal handling - Handles both in terminal mode and in execution mode the following signals: Ctrl+C, Ctrl+D and Ctrl+/
  • Lexing and parsing - Handles simple and double quotes, errors and syntax just like bash
  • Memory safe - Does not contain leaks and does not crash

🛠️ Compilation and usage 🛠️

Build

Clone the repository
git clone https://github.com/princess-mikus/42-Minishell.git minishell && cd minishell

Then call the Makefile

make

Usage

Just execute it and that's it!
./minishell

If you want to you can always copy it to any folder in PATH, for example to /usr/bin (needs root privileges):

cp minishell /usr/bin/minishell

Or to ~/.local/bin (only for current user):

cp minishell ~/.local/bin/minishell

Made by:

neomikus GoroXabi
Micaela Casaubon Xabier Ortega

About

Full implementation of a custom, minimalist shell based in Bash

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages