a basic unix shell written in rust for learning purposes
- run external commands
- pipes (
cmd1 | cmd2) - i/o redirection (
>,>>,<) - command history (arrow keys)
- tab completion
$VARexpansion,~expansion, quote handling- builtins:
cd,echo,pwd,clear,exit,export,unset,env,which,type
linux (no rust needed)
curl -L https://github.com/mugiwaraluffy56/shell-in-rust/releases/latest/download/rsh-linux-x86_64 -o rsh && chmod +x rsh && sudo mv rsh /usr/local/bin/rsh
mac (apple silicon)
curl -L https://github.com/mugiwaraluffy56/shell-in-rust/releases/latest/download/rsh-macos-arm64 -o rsh && chmod +x rsh && sudo mv rsh /usr/local/bin/rsh
from source
git clone https://github.com/mugiwaraluffy56/shell-in-rust && cd rsh && cargo install --path .
then just type rsh
cargo run
shows current directory and git branch if in a repo
~ shell git:(main) $