About the project

The objective of this project is to create a "simple" shell.
It was the first group project in my 42 cursus, we were 2.
We had to implement 6 built-ins like in bash :

  • echo (with -n option)
  • cd
  • pwd
  • export
  • unset
  • env
  • exit

We also had to handle redirections, pipes, environment variables and some signals.

What I learned

It deepened my understanding of the terminal which is my everyday working tool.
I learned a lot about file descriptors, forking processes and interprocess communication which were kinda obscur to me.
There is a ton of resources about these, but here are a few I'd recommend :


I really enjoyed working on this project.