A limited implementation of a linux shell written in Rust.
- Standard linux commands such as
ls
andcd
, - Running binaries that are in the current directory / in the PATH,
- Piping,
- Clone this repository to your machine.
- Go to the directory where the directory was cloned,
- Use
cargo run
to run the shell orcargo test
to check if the current shell passes the automated tests. - Use
q
orexit
when inside the shell to quit it.
My primary goals for the project are as such:
- Implement a search function to find binaries of commands.
- Implement a command execution for commands without pipes and with arguments.
- Implement a verifier to check whether a command is valid.
- Implement piping.
- (Bonus) implement outputting to a file.