Nushell is quite nice. Tables are nice to work with and look at, and the cross-platform support is top notch. It feels like what Powershell would have been, had it been designed by people who have actually used a command-line before. The main issues I have are bugs. Most recently, I find that it can't properly handle files with square brackets in the name, which isn't really all that uncommon.<p>I wouldn't recommend it for day-to-day, production usage just yet, but definitely worth keeping an eye on if you're not a huge fan of the typical stringly-typed shells.
Last time (about a month ago) I tried use it as my login shell, for a brief while. I really want to like it, but change is always difficult :)<p>The issues that I struck immediately where:<p>1. The macos `open` / nushell `open` conflict (various workarounds available, not quite sure what to do about it, the use of the macos command is very much in my muscle memory)<p>2. Some issue with tab completion being illogical, not choosing the shorter exact match as the first choice, tripping me up. This seems to be fixed now!<p>3. Setting up the env variables (PATH and other stuff), the syntax shown in the `config env` example is somewhat obtuse and I didn't really feel to actually learn all the possibilities to make it more nicer — so porting my .profile didn't seem like a fun endeavour. Also I realised keeping them in sync will be a bit difficult, if the syntax is wildly different.<p>I don't deal with _that_ much of structured data to actually make good use of nu's features — though I guess if I were to use it, it would inspire me to turn the data I do work with more amendable for nu.<p>Perhaps I should still try again :)
If you though writing a bash script can be addictive, wait till you write a nushell script !<p>The nushell language is clean and quite consistent. It is also much more powerful than bash/fish etc. Don't let the massive number of changes every minor version fool you -- nushell is ready to use. Probably not as a login shell but when you want an "all in one" replacement for the dozens of command line utilities in un*x.
One thing that's cool with Nushell is being able to wrap wrappers around existing commandline tools to get structured output (so a wrapper around `git branch` could give me structured data).<p>What I kind of want to go along with this is a (for the lack of a better word) query planner. Let me query structured data, but only pull in stuff as I need it, lazily. That way my structured data can be very detailed, but I only end up pulling the data I need on each iteration. That avoids pulling _everything_ from disk in structured wrappers.<p>There's probably a nice middle ground here but it's the one thing that's holding me back from writing a _lot_ of very detailed wrapper code for Nushell and the like.
I recently gave nushell a go for a few days, but I found that the structured data conveniences were not helpful all that often, at least compared to how often I was having to look up redirecting stderr or similar bash incompatibilities.<p>The biggest workflow-breaking issue for me was the lack of task backgrounding. I am almost constantly working in vim, backgrounding to test out changes, fg to resume editing. Opening a new tmux / zellij pane instead did not work well (I work on a smallish screen, new pane doesn't have the old pane's command history).
Any recent comparison between oils/ysh and nush?<p><a href="https://www.oilshell.org/cross-ref.html?tag=YSH#YSH" rel="nofollow noreferrer">https://www.oilshell.org/cross-ref.html?tag=YSH#YSH</a>