You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a reimplementation project of Yet Another Shell (yash) in Rust.
Currently, only a minimal subset of the original yash is implemented.
It will be extended to cover more features in the future.
Features
Currently, yash can run shell scripts written in POSIX-compatible syntax.
Support for interactive shell features is limited.
Running shell scripts that only use POSIX-compatible syntax and features
Minimal interactive shell features
Enhanced shell features (Extensions to POSIX shell)
Performance optimization
Locale support
Supported platforms
Yash should work on any Unix-like system.
We are testing it on Linux and macOS.
Windows is not supported, but it works under the Windows Subsystem for Linux (WSL).
Installation
To build and install yash, you need to have Rust installed.
Go to https://rustup.rs/ and follow the instructions to install Rust.
You will need the latest stable version of the Rust compiler.
Make sure the cargo tool installed by rustup is in your PATH.
Then, run the following command:
cargo install yash-cli
Usage
To run a shell script, run yash3 with the script file as an argument.
Without an argument, yash3 will start a read-eval loop, but interactive features are not yet implemented.
Exceptionally, you can reuse the yash-executor, yash-fnmatch and
yash-quote crates in your software under the
MIT License or
Apache License 2.0, whichever at your option.