Skip to content

Marcel the Shell (with shoes on): A shell written in C

License

Notifications You must be signed in to change notification settings

cmlsharp/marcel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Marcel the Shell (with shoes on)

Practice shell implementation

Name is a reference to this video

What's done:

  • Command execution
  • Pipes
  • Readline/history support
  • Builtin functions (cd, exit)
  • Dynamic prompt (changes to reflect exit code of previous command and current directory)
  • IO redirection (stdin, stdout, stderr)
  • Sane lexing + parsing (via flex and bison)
    • Supports quoted strings
  • Proper job control
  • Safe signal handling via queueing
  • Setting environment variables per command

What isn't:

  • Set local variables
  • Set environment variables for entire session (e.g. export)
  • Escape sequences
  • Defining aliases/functions
  • Anything else not mentioned in the above section

About

Marcel the Shell (with shoes on): A shell written in C

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published