This shell is the UIC ACM's SIG Systems' first project!
- Use the rustup Rust installer to get your environment setup and ready to build the shell.
- There are
rustupinstallers available for Linux, Windows, and MacOS.- Linux and MacOS users need only to run a quick command.
- There are
- Use
git cloneto clone this repo, thencdinto it. - Run
cargo runin your terminal to startup the (quite unfinished) shell. - Make some changes to
src/main.rsthen typecargo runagain to see what changes!
- Fork the repository with the "Fork" button in the top right.
- Either clone the newly-forked repository or (if you sufficiently understand
git), add it as a new remote. - Make, commit, and push your changes (to your forked repo).
- On the GitHub page for your forked repo, under the "Contribute" button on top, press "Open pull request"
- Write a brief description of what your code changes do.
- Press the "Create pull request" button.
- Watch your email for updates!
- Lexing
- Parsing (to
Commandtype)- Parsing test module
- Command-running
- Command-piping
- Recursive command piping (any number of pipes)
- Process groups
- Both for proper signal handling and for proper waiting
- Command substitution
- File redirection
- Command chaining
- Variable setting
- Variable expansion