nsh
A command-line shell that focuses on productivity and swiftness featuring:
- A POSIX compliant interactive shell with some Bash extensions.
- Tab completions and syntax highlighting.
- Bash completion support (by internally invoking the genuine Bash).
- Builtin zero configration features.
- Written in Rust
🦀
Installation
$ cargo install nsh
Documentation
Why create a new shell?
Bash is the best for executing shell scripts but its interactive mode is not satisfactory. I am a zsh user for the last decade but I don't need customizability and got tired of making my zshrc faster. Fish is really neat but I prefer old-fashioned, traditional, and ergonomic shell syntax.
Contributing
nsh is in alpha stage: there are many missing features which Bash provides, there are kludges in source code, and there must be bugs. To make nsh practical for daily use, I need your help!
How can I contribute?
- Report bugs in GitHub issues. Please attach a minimal reproducible example (e.g. shell script) if possible. It helps me to fix the bug easier.
- Suggest enhancements in GitHub issues.
- Submit a Pull Request which implements a new feature, fixes a bug, refactors code, rephrases sentences in documentation, etc.
License
CC0 or MIT. Choose whichever you prefer.