P0 - Build a Shell 🐚

The objective of this assignment is to build a UNIX style shell.

Outcomes:

What to submit:

Procedure:

  1. This assignment will guide you through the process of building a shell by iteratively improving your code and adding more features, starting with a very simple program. At the end you should have a shell that mostly works.
  2. You must make at least one commit per level completed, and label clearly at which commit you think you completed a particular level.
  3. You must pass all ten levels listed below. If you want to go further for an extra challenge, see the list of ideas at the bottom.

Levels:

  1. lvl 0:
  2. lvl 1:
  3. lvl 2:
  4. lvl 3:
  5. lvl 4:
  6. lvl 5:
  7. lvl 6:
  8. lvl 7:
  9. lvl 8:
  10. lvl 9:

Bonus

If you were inspired by completing all ten required level and you want to go further (for fun and bragging rights), feel free to add some or all of these features.

Submission Guidelines