https://github.com/samthetechi/minish
bash inspired shell
https://github.com/samthetechi/minish
Last synced: 11 months ago
JSON representation
bash inspired shell
- Host: GitHub
- URL: https://github.com/samthetechi/minish
- Owner: SamTheTechi
- License: mit
- Created: 2025-05-25T16:06:44.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-05-31T18:01:29.000Z (12 months ago)
- Last Synced: 2025-06-05T23:07:45.323Z (12 months ago)
- Language: Rust
- Homepage:
- Size: 9.77 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# mini\_sh - A Minimal Bash-Inspired Shell in Rust using libc
## Supported Features
* **Command Parsing**: Multiple commands separated by `;` are parsed and executed.
* **Built-in Commands**:
* `cd`: Change the current working directory.
* `aliases"`: Define custom aliases.
* `exports`: Export or append to environment variables.
* `exit`: Exit the shell.
* **Configuration Support**:
* Reads a `~/minish.conf` file at startup to preload aliases and environment exports.
* Change target compilation in .cargo to your systems Architure, by default(x86_64-unknown-linux-gnu).
* **Command Execution**:
* Executes non-built-in commands via `execvp` using libc.
* Forks and waits for child processes to finish.
## Purpose
`mini_sh` is a simple, shell written in Rust. It is inspired by the Unix Bash shell and is intended to:
* Teach the fundamentals of building a shell from scratch.
* Demonstrate system-level programming in Rust using `libc`.
* Explore command parsing, process management, and environment configuration.
## 🐞 Bugs & Contributions
Found a bug? Want to contribute? Feel free to open an issue or submit a pull request!
## 📜 License
This project is licensed under the **MIT License**.
---
Made with ❤️ by [Sameer Gupta](#)