Skip to content

milescajus/pizzashell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pizzashell

PizzaSHELL (a.k.a.) pzash

Features

Implemented

  • Editable input, history, and filename autocompletion (through <readline.h>)
  • Pizza prompt 🍕 (shows current working directory and timestamp)
  • Piping!
  • Special character expansion (currently only $ and ~)
  • Whitespace stripping
  • Non-interactive execution (with -c)
  • True wildcard expansion/globbing (*)
  • Quote handling (especially for non-interactive mode)
    • both of the above implemented with <wordexp.h>

Built-ins

  • cd with previous directory switching ($ cd -)
  • Help function
  • Two-operand math
  • File info (simplified lstat)
  • Echo

TODO

  • Expose <math.h> functions
  • Aliases (e.g. ll=ls -l; ls=ls -g; grep=grep --color)
    • especially for color-by-default
  • Piping builtins
  • Multiline input
  • Command autocompletion
  • Pizza ordering

Known Bugs

  • currently SIGINT (sent by Ctrl-C) is caught by the parent process, killing the whole shell rather than just the forked child

About

pzash == another UNIX shell implemented in C

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published