9 comments

[ 3.4 ms ] story [ 10.9 ms ] thread
Can someone explain what MS bash will do (or potentially do) better than mingw/msys?
It is not Microsoft bash. It's this bash:

* http://packages.ubuntu.com/trusty/bash

Alongside many of these:

* http://packages.ubuntu.com/trusty/

With that in mind, the differentiator from git bash, MSYS, Cygwin, and so forth should become clearer.

What differentiator? They are all using the same source code. Msys, Cygwin, now Microsoft all provide a whole ecosystem of gnu tools. (Git just repackages msys, I think.)

My level of understanding of the difference between cygwin and msys is that, when you build an executable, cygwin requires its own dll's to run it while msys uses the system dll's. The result is with cygwin you have full posix while with msys some things that Windows does in a non-posixy way are missing or wonky. But it is much easier to distribute msys-built binaries.

So what is the differentiator with the Microsoft version? That they are hooking it up to Ubuntu package management?

You're missing the difference between this:

* http://packages.ubuntu.com/source/trusty/bash

and what I actually pointed to, which was this:

* http://packages.ubuntu.com/trusty/bash

Your second sentence reveals that you're not getting the differentiator. To get this, read the blurbs and what the Microsoft developers themselves emphasize about this. It's pretty much the very first thing mentioned every time. Sometimes, its even in the headline.

* https://news.ycombinator.com/item?id=11391891 (in the third sentence)

* https://blogs.msdn.microsoft.com/commandline/2016/04/06/bash... (in the first sentence)

* https://blogs.windows.com/buildingapps/2016/03/30/run-bash-o... (in the fourth paragraph, repeated in the fifth)

* http://blog.dustinkirkland.com/2016/04/howto-ubuntu-on-windo... (in the first sentence)

* http://www.hanselman.com/blog/DevelopersCanRunBashShellAndUs... (in the URL!)

So what I get from that is that, like cygwin, and unlike msys, the target is full linux userspace compatibility. So is it essentially like MS is bundling cygwin as a windows system library?
Potentially it will ship "in the box" and be supported as part of the Microsoft toolchain. My guess is that it will given the particular people involved, the general direction of Microsoft regarding software layers, and its ability to make life better for developers [e.g. installing Rails].

To put it another way, I think the ecosystem is likely to be pretty good with both Microsoft and Canonical involved based on my read of their current directions.

I've always been hesitant about installing the alternatives because of the way Windows installations accumulate cruft and complexity and the weird states that low level third party code often puts a Windows box in.

YMMV.

You are confusing bash with other packages (apt is not bash - if I installed bash and it "came with" a package manager, I'd be suspicious... or in this case, know that I'm using Ubuntu's bash). Your expressing dismay at lack of anything further than coreutils seems odd.
There are several problems with this article. In no particular order, here are some:

* The "only missing platform" statement is incorrect. The Bourne Again shell is not part of the BSDs, for starters. It's available through packages/ports. But it's not part of the operating system. If, however, one is including add-on softwares that can be installed by the user; then by that measure Windows was not a "missing platform" in the first place, add-on Unix-like shells (not solely the Bourne Again shell, either) having been available for Windows for decades.

* "all it matters is that we are going to have a universal scripting language" -- As I mentioned at https://news.ycombinator.com/item?id=11417487 in fact what matters is that the range of tools expands, and does the opposite of shrinking to just one shell.

* "nothing that requires even most basic UI will work" -- This is demonstrated false by a video of Ubuntu X11 applications running on the Windows NT Linux subsystem; which is on Hacker News at https://news.ycombinator.com/item?id=11466270 .

* The answer to “how .. do I install node.js that is not the 0.10 legacy version that apt-get is offering me?“ is in fact "Use something newer than the Ubuntu 14.04 LTS that you're installing from by default." Contrast http://packages.ubuntu.com/trusty/nodejs with http://packages.ubuntu.com/xenial/nodejs . And stop abusing "legacy" to mean "old", while you're about it.

* "everything runs as root by default" -- Incorrect, and this is in the release notes. http://askubuntu.com/questions/754942/

* "You can see on the left the Bash on Windows console full of errors after installing PyGTK" -- Ironically, both of the images clearly show something that is not that; but is, rather, a console full of errors after attempting to install udev. Indeed, the image clearly shows the installer stating that "python-gtk2 is already the newest version". It should not be surprising that the Linux "plug and play manager" doesn't install on the Windows NT kernel. Indeed, it should not be too surprising also that an install procedure that requires 14.04's upstart in order to succeed is not going to work too well on a system where upstart won't work. https://news.ycombinator.com/item?id=11416376

* "I’m not sure how to copy and paste if not through the mouse" -- This is just a matter of M. Giammarchi not being familiar with the Windows keyboard shortcuts for pulling up the system menu for a console window and selecting "Edit/Mark" and "Edit/Paste", which are just specific instances of the general shortcuts listed in https://support.microsoft.com/en-gb/kb/126449 and which have been there for a long time. Then of course there are http://withinrafael.com/new-experimental-console-features-in... ,

Curses is the GUI for Bash. Anyone tied getting it to work yet?