Home Explore Blog CI



nushell

2nd chunk of `blog/2019-08-23-introducing-nushell.md`
c48785dec6b45a224d5451d5ed9543edd17375c2ec47313a0000000100000546
Many of us have gotten used to bash (or zsh/fish/etc), and don't understand why you would need another kind of shell. That was me, too, a few months ago before I started working on this. My friend Yehuda had discovered PowerShell and was going on and on about how amazing it was to do more with the shell, but until he actually gave me a demo, I didn't really believe him.

Then he talked me into joining him on an idea he had. What if we could take the ideas of a structured shell and make it more functional (as opposed to object-oriented)? What if, like PowerShell, it worked on Windows, Linux, and macOS? What if it had great error messages? I fell in love with the project ideas, made a few new friends, and many nights and weekends later I'd like to show you what we've made.

In this post, I'll talk about how a few simple ideas drive how Nu works, what Nu can do with them, and where we hope to go in the future.

# Simple ideas

To Nu, everything is data. When you type `ls`, you're given a table of information about the directory you're listing:



Rather than having to remember different flags to `ls`, we can just work with the data it gives back. We can find the files greater than a certain size:


Title: The Motivation and Simple Ideas Behind Nushell
Summary
The author discusses the initial skepticism towards creating another shell, influenced by PowerShell's capabilities. This led to the development of Nushell, aiming for a functional, cross-platform shell with better error messages. Nushell treats everything as data, enabling users to easily filter and manipulate the output of commands like 'ls' without needing to remember specific flags, enhancing data handling and manipulation in the shell.