Ask HN: Why hasn't anyone made a bash-like shell that directly targets Windows?
Why isn't there a native Windows shell out there that's just designed to be comfortable-enough for bash users, in the low-hanging ways?
Why isn't there a native Windows shell out there that's just designed to be comfortable-enough for bash users, in the low-hanging ways?
It has some drawbacks, though, most notably lack of Unicode support.
Powershell seems like it tries to change some things up for the "better", but what I really want is something where a person who's used to Unix can just pop into Windows and hit the ground running with all the basic stuff without having to learn a "new" shell first
In the first iteration, they just ported Korn shell to windows but it wasn't that useful. So after a couple of iterations they ended up with Powershell.
I still wonder if a modern, open-source, "this is designed to make bash people comfy" shell has a place
Command-history works the same way
Pipes and angle bracket operators work the same way
Setting env variables inline works the same way
All the familiar basic commands for getting around (cd, ls, cat, etc) are present and work the same way (same flags, same output format, etc)
All the little things that trip you up when you just try and use cmd.exe to do something simple would work the way you expect them to from bash. Everything that doesn't translate falls back to the normal Windows behavior. 80% of the benefit, 20% of the effort/complexity
UNIX is file-based and Windows is object-based. Windows and UNIX users/engineers tend to have vastly different philosophies.
When Microsoft set out to create a new shell that rivaled bash, they came out of it with PowerShell.
I think they succeeded with that, PS performance issues aside.
> The BusyBox shell is based on ash. It strives to be POSIX-compatible, though it does support some features of bash. A UNIX-style shell is something like the Windows command prompt, though much more powerful. It can be used as an interactive command line or to run shell scripts (like Windows batch files, though again, much more powerful).
The shell in the busybox-w32 port has much of the POSIX and bash goodness of upstream BusyBox. It's a native WIN32 application so there are some concepts that don't translate well. For example, job control isn't supported and signal handling is limited. On the whole, though, I think it provides a reasonably comfortable shell experience.