Skip to content

Repository files navigation

Minishell

Well, not so mini as it turns out...

Co-created with @42andy

So, what is this project about?

Minishell is essentially as the name implies, a somewhat cut-down version of a UNIX shell such as Bash. The penultimate C language project in 42's cursus, it's usually considered to be one of the most challenging. Using raw C with limited access to existing libraries and functions, we built a leak-free and crash-proof shell working entirely at the POSIX system-call level that parses commands, executes any number of pipes/redirects/heredocs etc, manages environment variables and handles various signals. This project forces, by no uncertain means, the creator to truly dive into [very] low-level programming particularly concerning memory management and string manipulation, while simultaneously becoming much more comfortable in the terminal and harnessing the power of existing shell functionality.

Sounds complex, how does it work?

Well, essentially it goes like this:

Minishell Flowchart

Easy, right?

Feel free to clone the repo and try it out - feedback welcome!

About

Not so mini as it turns out

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages