Simple Shell

A simple Unix shell that reads commands, executes programs, supports built-ins, and works in both interactive and non-interactive modes.

CCSHShellUXUnixPRParsingPSProcessesSYSSystems

What I Built

  • Built a Unix-style command interpreter (hsh) in C for interactive and non-interactive execution.
  • Implemented command tokenization and program execution with support for built-ins such as cd, env, setenv, unsetenv, alias, and exit.
  • Added PATH resolution, variable replacement, comment handling, logical operators, and environment management.
  • Implemented process execution flow with exit-status tracking and expected signal behavior.

Outcome

This project became a functional shell implementation that mirrors core Unix shell behavior for common workflows. It demonstrates systems programming fundamentals across process control, command parsing, environment handling, and practical command-interpretation flow.