UNIX shell in Rust
It is an experimental shell developed as a pet-project to improve my understanding of the operating system, processes, and the shell itself. I do not recommend to use rshell
as main shell since there are possibly bugs or unexpected behaviour.
- Built-in commands such as
cd
,exit
etc. - Base system commands such as
ls
,mkdir
etc. - Logical AND (
&&
) implementation - Sequential execution (
;
) implementation - Pipes
- I/O redirection (both
>
for write and>>
for append) - Script execution (
rshell
can run files as interpretor) - Profile - file that executed as the shell process started
- Variables
- Aliases
- String literals
- Functions
- Instants (instant commands)
- Command history
- Comments
See the documentation
Clone this repo:
git clone https://github.com/shelepuginivan/rshell.git
cd rshell
You can run it in development mode with
cargo run
or build with
cargo build --release
After building, you can find binary rsh
file in ./target/release
directory. You can move it to directory that is accessable in global scope or export path to it.