🚧 Work in Progress
Building a Unix shell in Rust as part of the Codecrafters "Build Your Own Shell" challenge.
This project is my implementation of a Unix shell written in Rust. It began as part of the Codecrafters challenge and serves as an opportunity to deepen my understanding of systems programming, Unix internals, and process management.
As I progress through the challenge, I plan to continue refining and extending the shell beyond the required milestones.
- Build a functional Unix shell from scratch.
- Gain a deeper understanding of Unix processes and system calls.
- Explore command parsing and execution.
- Learn how shells handle pipes, redirection, and environment variables.
- Write clean, idiomatic Rust.
The project is under active development. Features will be added incrementally as I progress through the challenge.
- Command parsing
- Built-in commands
- External command execution
- Environment variables
- Pipes
- Input/output redirection
- Command substitution
- Job control
Clone the repository and run:
cargo runDevelopment follows the milestones defined by the Codecrafters challenge. As new stages are completed, the repository and commit history will reflect that progress.
Through this project I'm gaining hands-on experience with:
- Rust
- Unix process management
- File descriptors
- System programming
- Command-line interface design
- Error handling
- Testing and debugging
This repository is actively developed as I work through the Codecrafters challenge. Contributions, suggestions, and feedback are welcome.
This project was started as part of the Codecrafters "Build Your Own Shell" challenge. Codecrafters provides hands-on programming challenges that focus on building real-world software from first principles.
As the project evolves, it may grow beyond the original challenge into a more feature-complete shell.