prefix-dev / shell

The ultimate cross-platform, bash-like shell
MIT License
60 stars 9 forks source link

image

🦀 shell - fast, cross-platform Bash compatible shell 🚀

This shell looks and feels like bash, but works natively on Windows (and macOS / Linux)! No emulation needed.

The idea of the shell project is to build a cross-platform shell that looks and feels similar to bash (while not claiming to be 100% bash compatible). The shell allows you to use platform specific native operations (e.g. cd 'C:\Program Files (x86)' on Windows), but it also allows you to use a platform-independent strict subset of bash which enables writing build scripts and instructions that work on all platforms.

The project is written in Rust.

The most common bash commands are implemented and we are linking with the coreutils crate to provide the most important Unix commands in a cross-platform, memory safe way (such as mv, cp, ls, cat, etc.).

This new shell also already has tab completion for files and directories, and history support thanks to rustyline.

The project is still very early alpha stage but can already be used as a daily driver on all platforms.

Screenshots

macOS:

Windows:

Windows

How to run this

To compile and run the project, you need to have Rust & Cargo installed.

# To start an interactive shell
cargo r

# To run a script
cargo r -- ./scripts/hello_world.sh

# To run a script and continue in interactive mode
cargo r -- ./scripts/hello_world.sh --interact

License

The project is licensed under the MIT License. It is an extension of the existing deno_task_shell project (also licensed under the MIT License, by the authors of deno).