Lab 8: Osh I
Due: 2026-04-13 at 23:59
In this lab and the next, you’re going to implement a simple shell named Osh. The shell will be able to
- Run simple commands like
wc -l some/file - Run pipelines containing an arbitrary number of commands.
You will learn
- one way to parse input;
- how to model a pipeline; and
- how to run programs and wait for them to complete.
Preliminaries
First, find a partner. You’re allowed to work by yourself, but I highly recommend working with a partner. Click on the assignment link. One partner should create a new team. The team name cannot be the same name used for a previous lab. The second partner should click the link and choose the appropriate team. (Please don’t choose the wrong team, there’s a maximum of two people and if you join the wrong one, you’ll prevent the correct person from joining.) You cannot choose a team name you’ve used previously.
Once you have accepted the assignment and created/joined a team, you can clone the repository and begin working.
Compiler warnings and errors
Make sure your code compiles and passes clippy without errors or warnings.
That is, running
$ cargo clean
$ cargo build
$ cargo clippy
should build your program without errors or warnings.
Formatting
Your code must be formatted by running cargo fmt.