A POSIX-compliant shell implementation written in C++.
- Interactive REPL with a custom raw-mode terminal reader
- Command history with up/down arrow navigation
- Tab completion for builtin commands and executables in
PATH - Single-quote, double-quote, and backslash escape handling
- Builtin commands:
exit,echo,type,pwd,cd,jobs,history - Execution of external programs via
fork/exec - Background job execution with
& - Job listing and status tracking
- Persistent command history (loads/saves from
HISTFILE) PATHandHOMEenvironment resolution- C++23 standard
Ensure you have cmake and vcpkg installed, with VCPKG_ROOT set.
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake
cmake --build ./build./run.shOr run the compiled binary directly:
./build/shell