TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Nushell – A New Type of Shell

54 pointsby diablo1about 5 years ago

16 comments

_jalabout 5 years ago
&gt; For a quick start we recommend you to read our book<p>That... is not a good way to entice me to try something.
评论 #22882026 未加载
评论 #22882761 未加载
cryptonectorabout 5 years ago
We&#x27;ve seen earlier posts of this. It&#x27;s a shell that works on the premise that data is tabular. It&#x27;s pretty neat. I&#x27;m not sure I can ever leave the traditional Unix shells behind though. I&#x27;m much more interested in a shell integrated with jq or something like that, but the reality is that Unix commands&#x27; input and output data types are not very well described or strongly typed, and that makes anything much better than the shell&#x27;s we&#x27;ve got difficult to deal with.<p>I wonder if we could have a standard by which a command could indicate what input and output data types it consumes&#x2F;produces for a given command-line, as well as what sorts of side-effects a command-line might have... Then we could have shells implement some type system. Where you expect XML you can use XPath, where you expect JSON you can use jq, and so on, and the shell could display tabulated output where possible, and not where not.
评论 #22883875 未加载
评论 #22889977 未加载
评论 #22883800 未加载
steveklabnikabout 5 years ago
I&#x27;ve been using nu as my main shell for... a month now? Happy to answer any questions.<p>I am not a heavy shell user, (I do almost everything in a terminal or a web browser, I just don&#x27;t use shell-specific features a ton) and there&#x27;s been some adjustment, but I like it!
评论 #22882569 未加载
评论 #22883061 未加载
trboydenabout 5 years ago
They totally blew it. Should have called it Nutshell.
评论 #22881962 未加载
评论 #22882938 未加载
Taikonerdabout 5 years ago
I&#x27;ve been meaning to learn Nushell. Its key selling point, for me, is that it has ONE way of sorting &#x2F; filtering columns, instead of different ways for <i>ls</i> versus <i>cp</i> versus <i>du</i>, etc.
评论 #22887730 未加载
otabdeveloper4about 5 years ago
This place is as good a place for this link as any: <a href="https:&#x2F;&#x2F;tkatchev.bitbucket.io&#x2F;tab&#x2F;" rel="nofollow">https:&#x2F;&#x2F;tkatchev.bitbucket.io&#x2F;tab&#x2F;</a><p>Enjoy. :)<p>P.S., Not spam, I&#x27;m the author.
Taikonerdabout 5 years ago
One thing I think the nushell guys should include in their &quot;about&quot; page is an answer to the question, &quot;how is this different from PowerShell?&quot;<p>The analogy to PowerShell is unavoidable -- they even make it themselves in the docs. I&#x27;m totally willing to believe there are important differences, but I wish they&#x27;d highlight them straight off the bat.
VectorLockabout 5 years ago
I love the concept of this. Something like this for JSON would be great. Kind of sick of `jq`.
评论 #22883258 未加载
haecceityabout 5 years ago
It looks like this is trying to do what powershell does pretty well. Pushing tabular data through pipes and filtering on columns and rows and such. It helps that all the commands in powershell outputs tabular data. Has anyone tried using powershell on linux?
评论 #22883190 未加载
评论 #22883289 未加载
L3viathanabout 5 years ago
This looks good in theory, but in practice many of its examples are cheating: `ps`, `ls`, etc. are something like shell builtins, so your memorized `ps` arguments won&#x27;t work with this, for example.
dangabout 5 years ago
<a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=20783006" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=20783006</a>
einpoklumabout 5 years ago
Isn&#x27;t it enough to just provide a formatter for use with existing shells?
physicsyogiabout 5 years ago
This seems like something that could be useful for data scientists.
jupedabout 5 years ago
Compare to Powershell, which also works with structured objects.
dan-robertsonabout 5 years ago
I’ve been thinking about what I’d want in a new shell for a little while. Suffice it to say: not this.<p>This decides that the problem is mostly the unix commands not working together the way the author would like but I’m already pretty happy with the way unix commands work, I know how to use awk and I have a bunch of tools for different kinds of structured data.<p>So instead I will go off topic and describe the new shell that I would actually like to see:<p>A shell is (at least as far as I’m concerned) a program for running other programs, and connecting them together. I would not constrain myself to running inside a fixed grid character terminal if I could help it.<p>The thing I would focus on is interactivity and modifiability of commands. Most of my time at a command line is doing one of two things:<p>1. Typing simple commands to e.g. start systems or query their state or otherwise poke them. Here command has a more traditional meaning than “invocation of a program which may do arbitrary things”.<p>2. Piecing together pipelines to extract some data and do things with it (first I write a command to get some data and probably pipe it into less, then I try writing a bit of sed on the end and piping that into less, then some awk, and so on until I have the pipeline I want)<p>For 1, I would want things to mostly work like bash.<p>For 2, I would want something more. Instead of using regular pipes, add an intermediate program (or use the shell). At first it can just hold onto the input as well as sending it to the output. That would make it easy to inspect what is going into a pipe. I guess it may eventually want to stop building memory usage so maybe it could have a large ring buffer instead. I would also like to be able to get some pv like behaviour to see progress. This could also be switched into something with lower overhead. I think it would all be reasonably cheap with splice, tee, and vmsplice (I’m not interested in support for non Linux platforms).<p>I’d want the ability to e.g. write my command with a trailing pipe, see some output, and then interactively add more stages to the pipeline<p>Ideally, I’d like an interactive awk-like tool where I can see the effect of my partly-written command as I write it.<p>I’d want ssh to be treated in a first-class reasonably transparent way where I don’t need to think about complicated quoting rules. But maybe somehow efficiently trying to avoid too much bandwidth or remote computation.<p>I think I would want it to mostly run inside emacs but able to spawn a fast terminal emulator automatically as necessary for large files or long lines (you may be surprised to know that a shell in emacs tends to give you much lower typing latency than typical terminal emulators because Mac’s handles its own rendering and line editing whereas a terminal emulator must send the key to bash through a pty which then sends back some terminal control codes which must be interpreted before the display may be rendered.
thanatropismabout 5 years ago
... the Wolfram Shell?