rsh-crate 0.2.2

A simple shell written in rust, build for educational purpose. My goal is to learn more about rust and how interpreters work under the hood.
rsh-crate-0.2.2 is not a library.

RSH

RSH is a simple shell written in rust, build for educational purpose. My goal is to learn more about rust and how interpreters work under the hood.

Feature

  • exit
  • cd
  • ls
  • pwd
  • echo
  • variables
  • touch
  • cat
  • mkdir
  • arithmetic
  • external commands
  • comparisons
  • command substitution
  • pipeline
  • config file
  • alias
  • history
  • execute file
  • if else
  • comments
  • command/filename/argument completion

Installation Guide

Make sure you have rust installed.

rustc --version

Install through cargo

cargo install rshl

Manual installed

# clone & open this repo
git clone https://github.com/Nattakit92/rsh.git && cd rsh

# build the from source
cargo build --release

# move rsh to cargo/bin
mv target/release/rsh $HOME/.cargo/bin

# cleaning up
cd .. && rm -rf rsh

Usage

To use rsh simply open the terminal and run rsh

Troubleshooting

Unknown command: rsh

Check if bin directory exist

ls $HOME/.cargo/bin/

If .cargo/bin did not exist

mkdir $HOME/.cargo $HOME.cargo/bin

Check if bin directory is in PATH environment variable

env| grep .cargo/bin

If bin directory is not in PATH environment variable. Add the following line to your shell configuration file and restart your terminal:

export $HOME/.cargo/bin