Nsh - a command-line shell like fish, but aims to be compatible with Bash

#1

Hi all,

In recent months I’ve been working on a new command-line shell nsh, because I want a blazingly fast shell without troublesome configuration.

The goal is to provide out-of-the-box features like fish but support traditional shell syntax with Bash scripting features (so-called bashism).

It is still unstable and lacks many features which fish/Bash provide but has fundamental features like:

  • POSIX shell features: pipeline, function, if, for, while, etc.
  • Command and path completion
  • History search
  • Syntax highlighting
  • Experimental support for Bash-style completion: complete(1) and compgen(1)
    (does not yet support bash-completions because they use some Bash features that I haven’t implemented).

I’m a newbie but am sure that Rust allows complicated but attractive features like asynchronous shell initialization. Please feel free to leave any feedback :slight_smile:

4 Likes
#2

Nice project idea. I’m going to give it a try.

Out of curiosity, why does the projet depend on Node.js?

#3

Thank you @bbigras! Now I’ve published to crates.io so it would be easy to try it out.

Out of curiosity, why does the projet depend on Node.js?

Nsh includes a web baed configuration tool built with Vue.js. You need node.js (specifically parcel) to build it.