Nushell is looking interesting …
Written in Rust of course …
Starting this thread to capture notes about it.
Nushell is looking interesting …
Written in Rust of course …
Starting this thread to capture notes about it.
I shall be installing this, and I’ll report my findings!
how does nushell compare to fish ?
Nushell and Fish are both modern shells that aim to improve upon traditional options like Bash, but they have some key differences:
Approach to Data
Nushell treats everything as structured data rather than raw text 1. This allows for more powerful data manipulation and analysis capabilities. Fish, while more user-friendly than Bash, still primarily works with text streams like traditional shells 3.
Syntax and Scripting
Fish offers a simpler, more readable syntax compared to Bash, making scripting easier 1. Nushell goes further with a completely new syntax influenced by functional programming languages, offering features like pattern matching and built-in data structures 4.
Interactive Experience
Fish is known for its excellent out-of-the-box interactive experience, with features like autosuggestions and syntax highlighting 3. Nushell also aims for a good interactive experience but may require more learning due to its unique approach 1.
Stability and Maturity
Fish is more mature and stable, with a consistent scripting language 1. Nushell is newer and still evolving rapidly, which can mean more frequent changes to scripts 1.
Data Processing Capabilities
Nushell excels at data-related tasks, offering built-in support for working with structured data formats like JSON and CSV, as well as powerful data manipulation features
2
. Fish, while capable, doesn’t have the same level of built-in data processing tools.
Cross-platform Support
Both shells work on Unix-like systems, but Nushell also has good support for Windows
3
4
.Performance
Nushell can be very fast for certain data manipulation tasks due to its optimized internal architecture
2
.
Learning Curve
Fish is generally considered easier to learn for those coming from traditional shells, while Nushell may require more time to master its unique concepts
1
.In summary, Fish offers a more familiar, user-friendly improvement over traditional shells, while Nushell provides a more radical redesign with powerful data processing capabilities at the cost of a steeper learning curve.
Perplexity Pro in action …
heh, thanks, this is quite helpful. I am a long time zsh user and all these autosuggestions an autocompletions etc. work smartly there for me. I have given some time to fish but the shell scripts ( particularly ) yoe envsetup does not work with fish. I wonder if it will work with nushell ?
__ ,
.--()°'.' Welcome to Nushell,
'|, . ,' based on the nu language,
!_-(_\ where all data is structured!
Please join our Discord community at https://discord.gg/NtAbbGn
Our GitHub repository is at https://github.com/nushell/nushell
Our Documentation is located at https://nushell.sh
Tweet us at @nu_shell
Learn how to remove this at: https://nushell.sh/book/configuration.html#remove-welcome-message
It's been this long since Nushell's first commit:
5yrs 5months 3hrs 5mins 59secs 170ms 692µs 59ns
Startup Time: 37ms 868µs 833ns
I don’t think so, Nushell is even more off the beaten path.
So, I have looked at many shell alternatives in the past, and nushell looks promising so far.
Downsides: you have to re-think how to do everything
Upsides: you get to re-think how to do everything
I must say, though, there are so, so many obscure Linux commands like find
and xargs
and even grep
quite honestly. It’s a breath of fresh air to use an entirely new ecosystem.
I found a relatively useful link for us lowly, feeble bash users: Coming from Bash | Nushell
One thing I must say is remarkable from the start… the error messages really are as good as they say:
This screenshot just gives you a log of good info. Note that the timestamp is a part of the prompt line but off to the right along with the exit code of the last command (-2 means SIGINT).
Still a good experience so far. This thing has quite the learning curve. I feel like I still know nothing, but I’m having fun learning.
A few things to note:
ssh
, curl
, and tar
: GitHub - nushell/nu_scripts: A place to share Nushell scripts with each other. Unfortunate that these aren’t included by default.grep -r
.bash myscript.sh
for bash scripts is mostly fine, although I have had to port one or two over manually for nushell.Thanks for the update Blake!
I use ripgrep most of the time – have you tried that?
I have never tried ripgrep
. I just wrote my own little script in nu:
A few notes:
grep -r
--help
outputHere it is in action:
Here’s a little blog post I wrote about nushell: Blog — BlakeSite
Great article – thanks for sharing!
new fish is getting rusty