1. 20
    1. 2

      OK, this may have convinced me to try it out this weekend. I’ve never properly learned any other shell beyond the rudimentary stuff, so I’ve got nothing to lose. And the super easy way you define flags and get usage help for free is pretty sweet.

    2. 2

      How does it get the structured data out of tools? Does it have parsers for them or rely on something like the libxo mode in most FreeBSD tools? The former seems quite fragile because it relies on the formats not changing. One of the big motivations for the libxo work in FreeBSD was Juniper appliances breaking when ifconfig output gained an extra field.

      1. 1

        They have parsers for common formats such as json ('{ "foo": 1, "bar": 2 }' | from json) (see formats) but yeah, if you want to parse custom output from a 3rd party command, you will have to do it by hand.

        https://i.imgur.com/VgeV6Vv.png

      2. 1

        By accepting a wide variety of structured data (up to and including SQLite databases), and providing builtins that wrap around a lot of commonish use cases (like ls) for shell bits.

        For line oriented formats, it’s about on par with Awk, ish.

        If you have a properly novel scenario, you can also write a plugin, which should give you access to libc if needed.

    3. 1

      I like nushell a lot, heh. It’s replaced Linqpad as my “explore and munge data” tool of first resort.