Monad and a bit of BASH

Total Cost of Ownership, pretty GUI’s and of course the browser wars are always on the forefront of people’s minds when debating Microsoft. Unlike the usual debates the one thing for me which I miss from the Linux world, is the power and neatness of the command shell. From performing administration on a remote box to searching files using LS piped to Grep, BASH has its many uses. For a number of years the Windows Command Shell has played second fiddle to the User Interface, I am happy to say that is no longer the case. Roll In Monad.

Monad, or what is now called now called MSH (Microsoft Command Shell) is Microsoft’s answer to BASH. Architected by Jeffrey Snover, MSH has its roots in many scripting languages. Scripting languages appeal to those who want to “see the machine behind the eye-candy and truly understand what is going on so that when things go pear-shaped” [Jeffrey Snover: Script Center: Interview with a Scripter]

Getting hold of MSH is simple. Click here and get the 2.1MB download. As an aside, this is the Beta 3 of MSH and requires .NET 2.0. After downloading and installing the file, you are ready to get going.

After an initial 20 Minutes playing on MSH I was surprised, the power, simplicity and acknowledgment of the standard Linux command names were very refreshing. Before long I had a few scripts written, and even my first infinite loop! After an hour or so I was hooked. A few minor niggles, such as it’s not trivial to resize the command Window, though that is no fault of MSH and the production quality is great. If you consider how long the Linux command shell has been available in comparison to Monad, the team has done a great job. Overall this is a great technology and long overdue. Hats off to the Monad team, I think they have one of the most interesting, useful and sought-after technologies on their Hands! If that has at all wet-your appetite follow through the introductory tutorial and get some hands on experience with MSH.

Links:

Interview with Jeffrey Snover: https://www.microsoft.com/technet/scriptcenter/resources/interviews/snover.mspx

Monad Team Blog:

https://blogs.msdn.com/monad/

Get MSH:

https://www.microsoft.com/downloads/details.aspx?FamilyID=E8E5203A-574C-4105-AF6B-B2FEF39ADF55&displaylang=en

Interview with Jeffrey Snower on Channel 9

https://channel9.msdn.com/ShowPost.aspx?PostID=26795#26795

Another introduction to Monad:

https://arstechnica.com/guides/other/msh.ars/