In this project, I built my own POSIX-compliant shell from scratch. My shell can interpret commands, run external programs, and handle built-in commands like cd, pwd, echo, and more.
Along the way, I learned a lot about:
-
Shell command parsing โ how commands entered by a user are interpreted and executed
-
REPLs (Read-Eval-Print Loops) โ the interactive loop that keeps the shell running
-
Built-in commands โ implementing internal commands without spawning a new process
-
Process management โ launching and controlling external programs
This project was a great way for me to dive deep into how shells work under the hood, and it gave me hands-on experience with system programming concepts like forks, execs, and input/output redirection.