Skip to content

$ cd ~/products/oh-my-gosh

standalone · 3/3

Oh-My-Gosh

A tiny shell in C

Minishell-style fork/exec REPL written in C — a small, readable implementation of how a shell actually runs a command.

  • +fork/exec REPL — The real mechanism, kept legible
  • +Written in C — No runtime beyond libc
  • +Learning project — Small enough to read end to end

What it is

A minimal Unix shell: the classic minishell exercise, kept small enough to read in one sitting. It reads a line, splits it on whitespace, fork()s, runs the command with execvp() in the child and waits for it in the parent. That is the whole mechanism every shell is built on.

What it doesn't do

One command at a time: no pipes, no redirection and no built-ins yet, so cd doesn't work. That keeps the core readable; each missing feature is the next exercise.

Install

$ git clone https://github.com/NoamFav/Oh-My-Gosh && cd Oh-My-Gosh$ make && ./oh-my-gosh

Status

  • [x]Read, fork, exec, wait loop
  • [ ]Built-ins: cd, exit
  • [ ]Pipes
  • [ ]Redirection

cd .. all products

Independent studio building developer tools, local-first software and custom projects.

contact@nf-software.com
© 2026 NF Software · SIRET 104 780 820 00015privacyterms
NORMAL~/products/oh-my-goshTop