Skip to content

Pawank06/rshell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rshell

a minimal unix-like shell written in rust.

this project is a hands-on learning journey, built alongside my growing understanding of rust and systems programming.

the goal is to explore how shells work under the hood and to learn system design, advanced programming practices, and real-world computing concepts by building them from scratch. this includes how a shell interacts with the operating system and how software is actually executed on a computer.

beyond technical depth, there is something deeply satisfying about understanding a tool you use every day.

if you are reading this early version of the readme, it means the project is still in an active learning phase. over time, as the implementation matures, this repository will evolve into a more complete and polished open-source project, and the documentation will grow with it.

current capabilities:

  • builtins for cd, echo, exit, help, history, pwd, and type
  • quoted and escaped argument parsing for commands like echo "hello world"
  • cd ~, cd ~/path, and cd -
  • type support for resolving multiple commands in one call
  • history 5, history clear, and history -c
  • executable lookup through PATH
  • a configurable prompt via the RSHELL_PROMPT environment variable, including {cwd}

run it with:

cargo run

test it with:

cargo test

until then, let’s get rusty.

About

rshell - unix-like shell written in rust.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages