nushell VS ion

Compare nushell vs ion and see what are their differences.

nushell

A new type of shell (by nushell)

ion

Mirror of https://gitlab.redox-os.org/redox-os/ion (by redox-os)
Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • Mergify - Updating dependencies is time-consuming.
nushell ion
204 3
26,603 1,394
3.1% 1.0%
6.1 0.0
about 7 hours ago 5 months ago
Rust Rust
MIT License MIT License
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 2023-09-06.
  • 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-...

    4 projects | news.ycombinator.com | 31 Aug 2023
    Today I learned (after disappearing down a rabbit hole after reading the linked article) that it's actually possible to begin to use & benefit from nushell's structured data pipe feature without changing one's current shell.

    Structured data pipes have always been my primary reason for keeping an eye on nushell's development but after looking at the project's documentation again today it all still seemed "too much initial effort with uncertain outcome".

    Because I don't want to switch my shell (not because bash is good but because it's not a priority to justify the expenditure of effort), I just want to have structured data in pipes within bash!

    Turns out it's as easy as:

    * nu --commands 'ls | where size > 1MiB'

    (Where `nu` is the nushell binary being called from your existing shell prompt.)

    Or, as more complete flow of data example:

    * echo "[1,2,3]" | nu --stdin --commands 'from json | to json' | cat

    Now you can fit nushell within your existing workflow where ever it's useful enough for you--without needing to commit to changing your entire shell.

    (And this isn't the only or necessarily the best way to arrange things for the communication with bash--there's "^" & "externals" & "command signatures" & "from ssv" etc too.)

    And nushell does have some nifty tools such as `explore` with `:try` to interactively build a processing pipeline.

    But this information doesn't seem to be documented anywhere in the "book" or other introductory material. It only seems to be documented in the help message of the `nu` binary--which I almost didn't even get as far downloading today.

    But then I found the help text in the source, so decided to try it again: https://github.com/nushell/nushell/blob/fd4ba0443d01e67f6304...

    If the structured data pipes is one of the main appeals for you, maybe try this approach out?

    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

  • GNU Parallel, where have you been all my life?
    19 projects | news.ycombinator.com | 21 Aug 2023
  • Crystal 1.9.1 Is Released
    6 projects | news.ycombinator.com | 17 Jul 2023
    I like Powershell but IMO it still has too many fundamental Microsoftisms for it to be practical on Unix systems.

    I would opt for Nushell instead: https://www.nushell.sh/

  • Dt: Duck tape for your Unix pipes
    2 projects | news.ycombinator.com | 13 Jul 2023
    There's a lot of people trying to copy this to the Linux space. NuShell comes to mind: https://www.nushell.sh/

    I had an idea where I'd make wrappers for all the popular commands that would accept JSON structured data instead of raw binary data and "do the right thing". And that way you could take advantage of it without having to change your shell tooling. And they'd all accept an extra argument called either --structured-out or --unstructured-out which would either emit JSON or render the output back to a "flat" string, as appropriate.

  • What languages have the best error message rendering styles in the terminal?
    3 projects | /r/ProgrammingLanguages | 12 Jul 2023
    And while I have never personally used it, Nushell has the prettiest error message I've ever seen.
  • Mnemos moment: Search for a Shell
    4 projects | /r/rust | 10 Jul 2023
    I contributed to dune shell a few years ago, until the author decided to stop working on it. Unfortunately it never went beyond the "hobby phase". A more mature shell written in Rust is nushell, but it's pretty large, so it might be difficult to port to another OS. There's also ion (part of Redox OS), which is much smaller, and hopefully easier to port.

ion

Posts with mentions or reviews of ion. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-05-22.

What are some alternatives?

When comparing nushell and ion you can also consider the following projects:

fish-shell - The user-friendly command line shell.

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

elvish - Elvish = Expressive Programming Language + Versatile Interactive Shell

PowerShell - PowerShell for every system!

alacritty - A cross-platform, OpenGL terminal emulator.

volta - Volta: JS Toolchains as Code. ⚡

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

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!

jq - Command-line JSON processor [Moved to: https://github.com/jqlang/jq]

nvim-nu - Basic editor support for the nushell language

zoxide - A smarter cd command. Supports all major shells.

leftwm - A tiling window manager for Adventurers