Hacker News new | past | comments | ask | show | jobs | submit login

Stop adding noise/personal remarks and stick to relevant information.

> Bash is the only way that you can launch your linux subsystem on windows

For now. On Windows only. Bash has never been a requirement to run Linux software, they're not coupled in any way.

> Bash is not just a Unix Shell in Microsoft's particular implementation

Then it's no longer GNU bash. It's something else. Feel free to invite Microsoft to provide a new, non-ambiguous name for it. And then rename their binary: <something else>.exe so users like yourself don't get confused.

In addition, Microsoft should not couple the ABI with a particular shell. There are many shells and people should be able to select the one they prefer.

Finally, if WSL cannot run bash's unmodified Linux binary, then WSL is a leaky abstraction and not a true Linux ABI. In that case you are better off just running Linux from a VM for the time being.




Okay - you make some good points, and I'm coming around to seeing things your way. Note that the bash (the shell) that you are running inside WSL appears to be binary identical to a stock ubuntu distro - so from that perspective, the bash you are running turns out to be exactly GNU bash, totally unmodified.

  shephard@singtest:~$ uname -a
  Linux singtest 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
  shephard@singtest:~$ ls -lart /bin/bash
  -rwxr-xr-x 1 root root 1037528 Jun 24  2016 /bin/bash
  shephard@singtest:~$

  root@Skully:~# uname -a
  Linux Skully 4.4.0-43-Microsoft #1-Microsoft Wed Dec 31 14:42:53 PST 2014 x86_64 x86_64 x86_64 GNU/Linux
  root@Skully:~# ls -lart /bin/bash
  -rwxr-xr-x 1 root root 1037528 Jun 24  2016 /bin/bash

 
And once WSL has been fired up, you can run any shell you want to .

  root@Skully:~# fish
  Welcome to fish, the friendly interactive shell
  Type help for instructions on how to use fish

Reading around the web - I note that Microsoft appears to be very careful about referring to "Bash/WSL" as a joint unit to refer to the Bash.exe component of WSL. Perhaps everyone on this thread (minus you and a few others) are the ones who are confused - perhaps the "Bash.exe" in Bash/WSL really is completely unrelated to "bash" the Bash shell? It may be the case that when I type "Bash.exe" from the start menu on Windows, the binary I'm running is completely unrelated to "bash" the linux shell - and this entire thing is a branding exercise. (as I think you've very patiently been trying to point out). Perhaps it would have made more sense to rename "Bash.exe" to "wsl.exe" - but then they wouldn't have been able to ride on Bash's branding...

The following link makes the distinction clear:

https://msdn.microsoft.com/en-us/commandline/wsl/faq

It's kind of Ironic when the one person being downvoted to oblivion for several days turns out to be the only one correct. But at least you won over one person. I'll never refer to it as anything other than WSL - and correct people who think they are running Bash (the GNU shell) when they type "Bash.exe."

Thanks.


Fair enough. Hope you can un-downvote the ones you downvoted. While comparing binaries by size can help, I recommend comparing binaries by hashing them (e.g: sha1sum). Usually better in terms of security.




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

Search: