Skip to content

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

  1. 1parse input into commands and pipeline segments
  2. 2fork/exec child processes and wire pipes between them
  3. 3apply redirections and handle signals
  4. 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