nushell VS fish-shell

Compare nushell vs fish-shell and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
nushell fish-shell
212 320
29,864 24,502
2.5% 1.7%
9.9 9.9
4 days ago 4 days ago
Rust Rust
MIT License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

nushell

Posts with mentions or reviews of nushell. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-14.
  • NuShell - Ceci n'est pas une |
    1 project | dev.to | 18 Mar 2024
    These are just three small examples of what this shell written in Rust allows. The features are many and many more, but I'll leave it up to you to discover and enjoy them; I'm currently playing around with it and it's giving me a lot of satisfaction and immediacy, now it has a fixed place among the tools I use when working! The project is Open Source, so if you want to contribute, I invite you, as always, to do so, I leave you the link to the repo here!
  • Xonsh: Python-powered, cross-platform, Unix-gazing shell
    12 projects | news.ycombinator.com | 14 Feb 2024
  • Fish shell 3.7.0: last release branch before the full Rust rewrite
    9 projects | news.ycombinator.com | 1 Jan 2024
    Any thoughts on fish as compared to nushell [0]? It's similar to PowerShell in its philosophy and is also written in Rust.

    [0] https://github.com/nushell/nushell

  • jc: Converts the output of popular command-line tools to JSON
    8 projects | news.ycombinator.com | 8 Dec 2023
    > In PowerShell, structured output is the default and it seems to work very well.

    PowerShell goes a step beyond JSON, by supporting actual mutable objects. So instead of just passing through structured data, you effectively pass around opaque objects that allow you to go back to earlier pipeline stages, and invoke methods, if I understand correctly: https://learn.microsoft.com/en-us/powershell/module/microsof....

    I'm rather fond of wrappers like jc and libxo, and experimental shells like https://www.nushell.sh/. These still focus on passing data, not objects with executable methods. On some level, I find this comfortable: Structured data still feels pretty Unix-like, if that makes sense? If I want actual objects, then it's probably time to fire up Python or Ruby.

    Knowing when to switch from a shell script to a full-fledged programming language is important, even if your shell is basically awesome and has good programming features.

  • Ripgrep is faster than {grep, ag, Git grep, ucg, pt, sift}
    14 projects | news.ycombinator.com | 30 Nov 2023
    Maybe if the "popular" shells, but http://www.nushell.sh/ is looking better and better
  • "<ESC>[31M"? ANSI Terminal security in 2023 and finding 10 CVEs
    7 projects | news.ycombinator.com | 20 Oct 2023
  • jq 1.7 Released
    33 projects | news.ycombinator.com | 6 Sep 2023
    Yeah agreed, especially now that PowerShell is available cross-platform.

    Nushell[1] also seems like a promising alternative, but I haven’t had a chance to play with it yet.

    [1]: https://www.nushell.sh/

  • The Case for Nushell
    4 projects | news.ycombinator.com | 31 Aug 2023
    I also discovered an existing discussion[1] related to this topic which includes a link[2] to a "helper to call nushell nuon/json/yaml commands from bash/fish/zsh" and a comment[3] that the current nushell dev focus is "on getting the experience inside nushell right and [we] probably won't be able to dedicate design time to get the interface of native Nu commands with an outside POSIX shell right and stable.".

    [0] https://gitlab.com/RancidBacon/notes_public/-/blob/main/note...

    [1] "Expose some commands to external world #6554": https://github.com/nushell/nushell/issues/6554

    [2] https://github.com/cruel-intentions/devshell-files/blob/mast...

    [3] https://github.com/nushell/nushell/issues/6554#issuecomment-...

    7 projects | news.ycombinator.com | 30 Aug 2023
    I appreciate what projects like Nushell and Murex are trying to address, but having a saner scripting language and passing structured data in pipelines is not worth the drawbacks for me.

    For one, Bash scripting is not so bad if you set some sane defaults and use ShellCheck. Sure, it has its quirks, but all languages do. Even so, the same golden rule applies: use a "real" programming language if your problem exceeds a certain level of complexity. This is relative and will depend on your discomfort threshold, but using the right tool for the job is always a good practice. No matter how good the shell language is, I would hesitate to write and maintain a complex project in it.

    And for general QoL improvements with interactive use, Zsh is a fine shell, while still being POSIX compatible.

    [1]: https://github.com/nushell/nushell/blob/main/crates/nu-comma...

    [2]: https://github.com/nushell/nushell/issues/5027

    [3]: https://github.com/nushell/nushell/issues/9310

  • Simple PowerShell things allowing you to dig a bit deeper than usual
    6 projects | news.ycombinator.com | 22 Aug 2023
    I found nushell (https://www.nushell.sh) to be an impressive replacement "bash" for Windows

    In terms of philosophy, think "Powershell but actually intuitive" : Every data is structured but command names are what you expect them to be. I usually don't even need to look at the documentation.

    I liked it so much that I also replaced my shell on Linux with it, so I have the same terminal experience across all OSes

fish-shell

Posts with mentions or reviews of fish-shell. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-22.
  • FAQ on the xz-utils backdoor – via a project dev
    1 project | news.ycombinator.com | 29 Mar 2024
    Reminds of the note at the bottom of Fish's releases. It's there because the build system cannot determine the current version for some reason. Hopefully that will go away now that they have switched to a different language / build system. The custom tarball is used by Arch Linux at the very least.

    https://github.com/fish-shell/fish-shell/releases/tag/3.7.1

    https://github.com/fish-shell/fish-shell/issues/7772#issueco...

    https://gitlab.archlinux.org/archlinux/packaging/packages/fi...

  • Oh My Zsh
    19 projects | news.ycombinator.com | 22 Jan 2024
  • Proposal for porting fish-shell from C++ to Rust
    1 project | news.ycombinator.com | 17 Jan 2024
  • Converting the Kernel to C++
    3 projects | news.ycombinator.com | 10 Jan 2024
    A recent practical example of the former: the fish shell re-wrote incrementally from C++ to Rust, and is almost finished https://github.com/fish-shell/fish-shell/discussions/10123

    An example of the latter: c2rust, which is a work in progress but is very impressive https://github.com/immunant/c2rust

    It currently translates into unsafe Rust, but the strategy is to separate the "compile C to unsafe Rust" steps and the "compile unsafe Rust to safe Rust" steps. As I see it, as it makes the overall task simpler, allows for more user freedom, and makes the latter potentially useful even for non-transpiled code. https://immunant.com/blog/2023/03/lifting/

  • Fish shell 3.7.0: last release branch before the full Rust rewrite
    9 projects | news.ycombinator.com | 1 Jan 2024
    And this discussion from November has an update on the progress: https://github.com/fish-shell/fish-shell/discussions/10123
  • Day 5 - More or less...
    3 projects | /r/linuxupskillchallenge | 7 Dec 2023
    We're using bash as our terminal shell for now (it is standard in many distros) but it is not the only one out there. If you want to test out zsh, fish or oh-my-zsh, you will see that there are a few differences and the features are usually the main differentiator. Try that, poke around.
  • Fish – Update on the Rust Port
    1 project | /r/patient_hackernews | 28 Nov 2023
    1 project | /r/hackernews | 28 Nov 2023
    7 projects | news.ycombinator.com | 26 Nov 2023
    They have a variety of reasons to move to rust, as outlined in their original rust discussion[1]. Mostly around finding other contributors, and adding an async/parallel mode they're comfortable with.

    [1] https://github.com/fish-shell/fish-shell/pull/9512

  • Devuan アップグレード: 4 から 5 Daedalus へ
    3 projects | dev.to | 4 Sep 2023

What are some alternatives?

When comparing nushell and fish-shell you can also consider the following projects:

elvish - Powerful scripting language & Versatile interactive shell

powerlevel10k - A Zsh theme

starship - ☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell!

PowerShell - PowerShell for every system!

oh-my-fish - The Fish Shell Framework

alacritty - A cross-platform, OpenGL terminal emulator.

xonsh - :shell: Python-powered, cross-platform, Unix-gazing shell.

tokyonight.nvim - 🏙 A clean, dark Neovim theme written in Lua, with support for lsp, treesitter and lots of plugins. Includes additional themes for Kitty, Alacritty, iTerm and Fish.

volta - Volta: JS Toolchains as Code. ⚡

oil - Oils is our upgrade path from bash to a better language and runtime. It's also for Python and JavaScript users who avoid shell!