2022-10-09 17:44:25 -05:00
|
|
|
# Pish
|
|
|
|
A simple bash shell implemented in C.
|
2022-10-10 18:50:32 -05:00
|
|
|
|
|
|
|
# Authors:
|
|
|
|
Gregory Crawford
|
|
|
|
Samantha Boyer
|
|
|
|
|
|
|
|
|
|
|
|
# Instructions
|
|
|
|
## Compiling
|
|
|
|
Run `make` in the base folder
|
|
|
|
Program is then compiled into bin/
|
|
|
|
|
|
|
|
## Running
|
2022-10-29 23:15:10 -05:00
|
|
|
Run `pish.out` in bin/ to run the program
|
|
|
|
|
|
|
|
## Alternative
|
|
|
|
Run `make exec` in the base folder to compile and run program
|
2022-10-29 23:25:39 -05:00
|
|
|
|
|
|
|
# What works and doesn't
|
|
|
|
Successfully tested:
|
|
|
|
As long as the command works alone in Pish, .pishrc is fully functional
|
|
|
|
Single commands such as "echo hello world" run fine
|
|
|
|
Pipes split commands into parts
|
|
|
|
Signals are ignored
|
|
|
|
Built in commands such as cd and exit work
|
|
|
|
Commands are forked and then exec'd after being split by pipes if any
|
|
|
|
Pish prompt works and parses properly
|
|
|
|
|
|
|
|
Unsuccessfully tested:
|
|
|
|
Redirection operators are found, but not acted upon
|
|
|
|
Pipes don't redirect i/o into other commands (i.e. ps aux | grep 'Z')
|
|
|
|
Environmental variables being handled by Pish
|
|
|
|
|