What is going on with Microsoft? First they offer Linux on the Azure cloud solution and now Ubuntu binaries and bash are being ported to windows using a Linux subsystem.
It was already possible to run bash and Linux apps using Cygwin for example, but now the itegration is tighter.
“This is not a VM. This is not cross-compiled tools. This is native,” Microsoft’s Kevin Gallo said. “We’ve partnered with Canonical to offer this great experience, which you’ll be able to download right from the Windows Store.” Third-party tools have enabled this sort of thing for years, but a direct partnership between Microsoft and Canonical should offer even more flexibility and convenience for developers who prefer using these binaries and tools.
If you have ever written scripts in Powershell you will know that: PS is a great command line shell, if you all you know is cmd and batch. But there are so many things it is missing when trying to compete with current Unix shells such as Bash, and while some of them have semi-working workarounds, many are sorely missing.
- A decent pager. “more” is basically at the same stage it was when I started working in MS-DOS 3.30, and it is nowhere near the functionality of “less”(1).
- Persistent history. I’ve seen some workarounds but couldn’t get any of them to work properly.
Both of these features have been available in Linux in 1995, and it is really difficult living without them in MS-world. A decent terminal emulator will be nice too.
Then there are the version issues, 1, 2, 3, 4, 5 …. and often script don’t work nicely as they are written for the wrong version.
The move to support Bash and Linux binaries like awk, sed less, git etc are MS way out of the PS in my opinion.
PS itself is based on the Korn shell, but it just did not cut it. Writing a simple script for PS get you much more coding lines compared to Bash.
But by choosing Bash it might even come as default on Windows servers in the future.
‘An almost surreal endorsement by Microsoft on the importance of open source’
It is “basically real-time translation of Linux syscalls into Windows OS syscalls” said Ubuntu’s Dustin Kirkland, adding that this is “an almost surreal endorsement by Microsoft on the importance of open source to developers.”
It is not only the Bash shell, of course, but also Linux non-GUI utilities and applications that run. Kirkland states that “most of the tens of thousands of binary packages available in the Ubuntu archives” will run, not only utilities like cp, find, grep, and ssh, but also aptitude, apache, mysql, python, perl, ruby, php, gcc, tar and so on.