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)
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 :
- Understanding pipes
- Understanding fd, dup and dup2 system calls
- Understanding fork system call
- Write a shell in C
I really enjoyed working on this project.