Cr4sh_ : Unix mini-shell written with Rust

Hello, Rustaceans!

I was playing around with systems programming a couple of months ago and ended up writing a mini-shell program (demo in README):
https://github.com/bexxmodd/cr4sh_

cr4sh_ (pronounced crash, because it crashes all the time) is built purely with Rust and currently can support the following functionality:

  • Multiprocessing

  • SIGINT and SIGKILL signal handling

  • Execution of OS executables

  • Redirection of standard input output

  • Appending stdout to the file

  • Piping commands and combining with redirection

  • cd - command to change directories

  • touch - for creating files and updating accessed & modified dates

  • && - calls to chain multiple commands

The project is in its early stage (v 0.0.1) but I plan to extend this project and have lots of TODO items on the list and I'll be adding more. I'll be happy if some of you decide to contribute, refactor, comment, give feedback!

Also, I plan to write articles about Linux systems programming. I've already written the first two parts, which are more like an introduction:

Systems programming with Rust: Part 1

Systems programming with Rust: Part 2

Just a heads up: there is an issue with the certificate of your website: "Firefox does not trust this site because it uses a certificate that is not valid for www.bexxmodd.com. The certificate is only valid for *.herokuapp.com."

1 Like

Thanks, I'm working on it!

May I recommend that you study how real shells work in Unix first. An ok book is Bryant + O'Hallaron (Ch. 8): URL. An example of courses following this book is here.

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.