A simple shell I wrote for my Operating Systems class
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
aux_files
.gitignore
CMakeLists.txt
README.md
lab2.pdf
libsimsh.c
libsimsh.h
simsh.c
writeup.txt

README.md

Simple Shell

This program was an assignment for my Operating Systems class. The assignment PDF can be found here, with my answers to the writeup questions available here. The short version is to implement a shell supporting the following features:

  • Background-ing of processes with &
  • Input/Output redirection with >, >>, and <
  • Pipelines with |

All operators are assumed to be separated with spaces.

Operation

To run it, build it (see Building), and then type ./simsh. Then type commands as usual. Send an EOF (usually Ctrl-D) or type exit on its own to exit the shell.

Building

Prerequisites

  • Relatively new gcc (supports -std=c11)
  • Relatively new cmake (≥ 3.6)

Compiling

Type cmake .