Skip to content

Cypr0s/CyprSH

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CyprSH

A minimalistic POSIX-compliant shell written in C from scratch to deepen my understanding of systems programming.

Features

  • Lexer with full POSIX token recognition
  • Recursive descent parser
  • Interactive mode with readline history
  • Script mode

Building

make          # release build
make debug    # debug build with sanitizers

Usage

./cyprsh              # interactive mode

Status

Work in progress. Currently implemented:

  • Lexer
  • Parser
  • Executor (partially, only external commands)
  • Pipelines
  • Redirections
  • Word expansion
  • Builtins
  • Job control

Examples

cyprSH> echo "Hello world"
Hello world

cyprSH> ls -la | wc -l
14

cyprSH> echo first > test.txt
cyprSH> echo second >> test.txt
cyprSH> cat test.txt
first
second

cyprSH> date; whoami; pwd
Thu Jun  4 07:14:15 PM CEST 2026
luptakk
/home/luptakk

cyprSH> echo a && echo b
a
b

cyprSH> false || echo "fallback"
fallback

License

GPL v3

About

CyprSH is a minimalistic POSIX shell created from scratch to explore, learn, and deepen understanding of shell internals and Unix design principles.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors