Bash for Windows: Why it’s awesome and what it means for PowerShell
Specifically, Bash on Windows is a developer tool. The idea here is that you’ve got some code that already works great on Linux that you’d like extend and hack on your Windows 10 machine. Or maybe you want to play with some Ruby gems that have some GNU utility dependencies. Drop into Bash, and have a field day.
It’s worth noting that this is not a platform for running or hosting production Linux workloads or server applications. It’s not for managing Windows Server workloads. Microsoft, the PowerShell Team, and the PowerShell community built extensive coverage for Windows, Windows Server, Active Directory, IIS, Exchange, SharePoint, System Center, SQL Server, Hyper-V, and Azure. In addition, we have a large partner ecosystem that supports PowerShell on both clients and servers, and this coverage is growing.
Of course, for those of us who love our developer workflows inside PowerShell, absolutely nothing will change. Bash and PowerShell are totally side-by-side. If you never type ‘bash’ in your console, literally zero will change for you as a PowerShell user.
Lastly, while Bash on Windows natively supports the Linux OpenSSH client, this complements our plans to deliver a native Win32 version of OpenSSH and to merge it upstream with the official OpenSSH repository. There are many advantages to having a Windows native SSH client, server, and toolchain, and we see huge value in supporting the official OpenSSH project in general. (In fact, you can check out our roadmap and progress on GitHub.)
We are incredibly excited about the plans we have for the future of PowerShell. PowerShell is a first-class scripting language, interactive console, remoting experience, and configuration management platform (DSC). Keep an eye on this space as we continue introducing new features, expanding our ecosystem, and growing our community. We welcome Bash on Windows as a fantastic addition to the Windows command-line ecosystem.
Program Manager, PowerShell