01 // PROJECT AT A GLANCE
MINISHELL 1
CWriting your own shell: the program that launches all the others.
Everything you type in a terminal goes through a shell. This project consists in writing one: reading a command, finding the matching program on disk, launching it in a separate process, waiting for it to finish and starting again. It is the project that makes you understand what really happens when you press Enter.
A minimal shell in C: read loop, command splitting, PATH resolution, process creation through fork/execve and handling of built-in commands.
PRIMARYC
DELIVERYTEAM RECORD
VERIFICATIONCriterion
SOURCEINSPECTOR READY
03 // KEY OUTCOMES
- Concretely understanding what a terminal does for every command
- The built-in / external distinction: why cd cannot be a program
- Termination messages reproduced signal by signal, like the reference shell
- Bonus: aliases loaded at startup from a .myshrc file
BEYOND THE BRIEF
- A bonus version in a separate tree adding aliases (my_alias.c) and a homemade stat command (my_stat.c)
- Twelve Criterion test files covering the built-ins and error handling
04 // SOURCE TREE
READING SOURCE…