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
rustup
installers available for Linux, Windows, and MacOS.- Linux and MacOS users need only to run a quick command.
- There are
- Use
git clone
to clone this repo, thencd
into it. - Run
cargo run
in your terminal to startup the (quite unfinished) shell. - Make some changes to
src/main.rs
then typecargo run
again 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
Command
type)- 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