The purpose of this project is to design and develop a comprehensive shell interface that enhances process control, user interaction, and error handling mechanisms. Submission for Fall 2025 - COP4610 - Project 1.
root/
├── .vscode/
├── src/
├── background.rs
├── environment.rs
├── external.rs
├── lexer.rs
├── main.rs
├── path_search.rs
├── piping.rs
├── prompt.rs
├── redirection.rs
├── tilde.rs
├── builtin.rs
├── .gitattributes
├── .gitignore
├── Cargo.lock
├── Cargo.toml
├── README.md
- Compiler:
rustcfor Rust. - Dependencies: nix = { version = "0.27", features = ["process", "fs"] } signal-hook = "0.3" regex = "1.10"
- cargo build
- cargo run This will run the program ...
Each member records their contributions here.
| Date | Work Completed / Notes |
|---|---|
| 2025-09-18 | Tilde Expansion |
| 2025-09-23 | External Command Exec |
| 2025-09-27 | Background Processing |
| Date | Work Completed / Notes |
|---|---|
| 2025-09-14 | Tokenization |
| 2025-09-21 | $PATH Search |
| 2025-09-28 | Internal Command Exec |
| Date | Work Completed / Notes |
|---|---|
| 2025-09-15 | Prompt |
| 2025-09-18 | Environment Variables |
| 2025-09-26 | I/O Redirection |
| 2025-09-28 | Piping |
Document in-person meetings, their purpose, and what was discussed.
| Date | Attendees | Topics Discussed | Outcomes / Decisions |
|---|---|---|---|
| 2025-09-09 | All members | First meeting | Division of labor |
Most team communitcation is done using Discord, there are no conflict and every process is finish smoothly