Skip to content

nuta/nsh

Repository files navigation

nsh

CI Status Latest version

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 🦀

screenshot

Installation

$ cargo install nsh

Documentation

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.