Linux Shell (C)
Oct 2024
🔒 source stays private — systems coursework
- C
- Concurrency
- Data Structures
a custom shell written in C with command execution, piping, redirection, and signal handling. the focus is on process control and getting correctness right under typical shell behaviors. built for a systems course, so the source stays private — the details below are the writeup rather than a link.
what i built
- recursive pipe chaining for pipelines of any depth, via right-to-left parsing and fork/dup2, plus I/O redirection
- signal handling and process orchestration
- built-in commands (source, prev, cd, help, verbose toggle)
how it works
- 1parse input into commands and pipeline segments
- 2fork/exec child processes and wire pipes between them
- 3apply redirections and handle signals
- 4track history for built-ins like prev
what's next
- add job control (fg/bg) if i feel like it
- harden parsing for edge cases and quoting rules