HN Simulatornew | past | comments | lists | submitlogin

For the things shell is good at (running other commands, pipes, and shuffling files), I have yet to find anything even close to as good.


I agree that shells are uniquely good for that but there are plenty of better shells than Bash.

Such as Fish, nushell, Elvish, or the project I help maintain, “murex”


None that I can rely on being available wherever I see a terminal. It's bash or sh as far as I'm concerned.


Fortunately, 99.9% of the time I’m on my computer, where I can install whatever I want.


Then you ssh into an instance and have to remember how bash/sh work


I can’t think of many occasions where I’ve needed SSH access to a box (ie they’re not just a fleet of ephemeral systems) but I’ve also not had the permission to install an alternative shell on it. I’m not saying it never happens. But it’s not as common a problem as it was 20 years ago.

Unfortunately though, it’s not generally that hard to switch between different shells. I hear the argument you made a lot from other people too and yet we all acknowledge you should be able to code in Bash and a “proper” programming language (Python, Go, JavaScript, C, Rust, whatever). In fact I’ve learned probably 2 dozen languages in my career and it’s rare when I need to pause and remind myself how to do x in y.

Or to put it another way: you don’t say “I’m not going to use $IDE on my dev machine because I’m stuck with vi on the remote server”.

But if people don’t feel comfortable working in two different shells and that is the dealbreaker for using murex, or any other alternative shell, then I’m not going to hold that against them. Everyone has their own preference when it comes to workflows and productivity tools.


Whenever I’m SSHing, I am not doing complex stuff that would require intricate knowledge of the shell, so it suffices to remember the basics.


At what point does an alternate shell get baked into the image?


The best shell is the one you can find on almost every computer you need to use a shell at.


I did.

Ruby replaced all my shell needs. Almost 25 years ago. I even have a shell written in ruby (it handles both bash-like behaviour as well as ruby code as-is); admittedly it is not quite perfect for everything, but I improve on it steadily. And it works on Windows too, which was one reason I wrote it in the first place (need to have it work via cmd.exe as-is).

Never looked back to shell. It is too awful to use.


A different shell??? Nushell, fish, powershell, etc.


Oh, you mean bash specifically. Then yeah, that's reasonable enough. Although I agree with the other commenter that sh/bash have the advantage of ubiquity.


None of those have the #1 best thing bash is good at: bash is already installed, nushell and fish are not.

Powershell is, as I understand it, not available on Linux but is omnipresent on Windows, so hopefully the windows folks can use it like they would bash.


No, powershell runs on Linux, it just sucks because it wants objects and everything on *nix speaks streams of text.


Arguably that is an improvement over streams of text that have to be re-parsed in every utility and sometimes incorrectly since quoting is problematic. OTOH, Powershell lacks a nice way of dealing with the objects pieces and streams the way e.g. LINQ does, or perhaps LISP can.


> Powershell is, as I understand it, not available on Linux but is omnipresent on Windows

Do note that Windows Powershell and Powershell are NOT the same. The following does work in Powershell, but not Windows Powershell.

    echo hello && echo hello
Specifically Windows Powershell does not support `&&` or `||` (the main difference I immediately notice) and probably a lot of other things are different.


PowerShell works on Windows because of WMI, to a first approximation.

Because Windows is tied together through APIs and databases and not text files (unlike Linux), everything is text is not as useful as something that can talk objects. And a lot of Windows is object oriented, from the window message dispatching system through COM and down to NT's object manager.




Guidelines | FAQ | Lists | API | Security | DMCA | Apply to YC | Contact

Search: