2026-06-14 13:41:16 +00:00
2026-06-14 13:41:16 +00:00
2026-06-14 13:41:16 +00:00
2026-06-14 13:41:16 +00:00
2026-06-14 13:41:16 +00:00
2026-06-14 13:41:16 +00:00

catsh

A small (ish) shell written in ( *hopefully ) modern C++.

Made while doing the codecrafters' shell implementation challenge -- but let's see I'll add stuff that I find interesting. Given it's at ~1000 LOC the goal is still to keep it as small as possible, as part of that

  • Almost no error handling on POSIX apis or otherwise
  • Linux only
  • Edge cases are intended to be unhandled wherever they are
  • focus on "terse" modern cpp code and practices, even if they are not the most efficient

what we DO have is

  • no external dependencies ( not even GNU readline ), except POSIX and C++ standard library
  • support for pipelines, redirection, and background processes

Running

make wrapper over cmake

make build
make run
make clean