4 ms·
This post implies the decision is between nushell, MS Powershell or something based on shells from the 70s. But there are a plethora of other shells like nushel
by hnlmorg 3y ago
This post implies the decision is between nushell, MS Powershell or something based on shells from the 70s. But there are a plethora of other shells like nushell, that have been around for longer than nushell.
It’s actually a pretty crowded market space.
So why are people still using bash? In part because it’s a default (defaults are hard to change) and in part because it’s largely “good enough”.
It’s the same reason JavaScript is everywhere. First because it was the default in browsers and then because it was good enough that people didn’t want the effort of having to learn nor use another language.
- dubcanada 3y agoLike what? I’d love a stable nushell alternative.
- hnlmorg 3y agoStable is a problem because a lot of these shells don’t offer any guarantees for breaking changes. My own shell, https://github.com/lmorg/murex https://github.com/lmorg/murex is committed to backwards compatibility but even here, there are occasional changes made that might break backwards compatibility. Though I do push back on such changes as much as possible, to the extent that most of my scripts from 5 years ago still run unmodified. In fact I’ve started using some of those older scripts as part of the automated test suits to check against accidental breaking changes.
- geophile 3y agoCheck out my entry, marcel: https://marceltheshell.org https://marceltheshell.org. E.g., find the newest vlc instance and kill it (a command that an acquaintance needs frequently, for some reason): ps | select (p: p.name == 'vlc') | sort (p: p.create_time) | tail 1 | (p: p.signal(9)) - ps produces a stream of Process objects. - select binds each Process to p, and then selects those whose name is vlc. (Anything in parens is a Python function. You can include or omit "lambda".) - sort by create time, (using a Python function to specify the sort criterion). - tail 1 as in Linux, to get the newest qualifying Process. - Run the function p.signal(9), which kills the Process.