Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shelepuginivan/rshell
rshell, rsh - UNIX shell in Rust
https://github.com/shelepuginivan/rshell
linux scripting-language shell unix unix-shell
Last synced: about 2 months ago
JSON representation
rshell, rsh - UNIX shell in Rust
- Host: GitHub
- URL: https://github.com/shelepuginivan/rshell
- Owner: shelepuginivan
- Created: 2023-01-25T13:51:57.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-27T11:34:32.000Z (5 months ago)
- Last Synced: 2024-08-27T12:54:56.129Z (5 months ago)
- Topics: linux, scripting-language, shell, unix, unix-shell
- Language: Rust
- Homepage:
- Size: 83 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# rshell
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.
## Features
1. Built-in commands such as `cd`, `exit` etc.
2. Base system commands such as `ls`, `mkdir` etc.
3. Logical AND (`&&`) implementation
4. Sequential execution (`;`) implementation
5. Pipes
6. I/O redirection (both `>` for write and `>>` for append)
7. Script execution (`rshell` can run files as interpretor)
8. Profile - file that executed as the shell process started
9. Variables
10. Aliases
11. String literals
12. Functions
13. Instants (instant commands)
14. Command history
15. CommentsSee the [documentation](./docs.md)
## Usage
Clone this repo:
```shell
git clone https://github.com/shelepuginivan/rshell.git
cd rshell
```You can run it in development mode with
```shell
cargo run
```or build with
```shell
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.