Skip to content

dcdjr/c-mini-shell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minimal Unix Shell (C)

A small Unix-like shell written in C using POSIX APIs.

The goal of this project was to understand core shell mechanics rather than build a feature-complete shell.

Features

  • Executing external programs with fork and execvp
  • Built-in commands: cd and exit
  • Command parsing into argv
  • Correct parent/child process behavior
  • Basic signal handling for SIGINT
  • Modular code split across parsing, built-ins, and shell control flow
  • Makefile-based build

Non-Features

This shell intentionally does not support:

  • Pipes (|)
  • I/O redirection (>, <)
  • Background jobs (&)
  • Job control (fg, bg)
  • Advanced environment manipulation

Build and Run

make
./myshell

Why This Project Matters

This project demonstrates practical understanding of:

  • Unix process creation
  • fork / exec execution flow
  • Built-ins versus external commands
  • Signal behavior in interactive programs
  • Manual parsing and memory management in C

About

Minimal Unix-style shell in C with command parsing, built-ins, signal handling, and fork/exec process execution.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors