X
Tech

Next-generation shells - is Linux falling behind?

One of the reasons that I prefer Linux to Microsoft is the command line -- not only is Linux better-suited to management at the command line, but GNU Bash is much more pleasant to use than Microsoft's CMD.EXE.
Written by Joe Brockmeier, Contributor

One of the reasons that I prefer Linux to Microsoft is the command line -- not only is Linux better-suited to management at the command line, but GNU Bash is much more pleasant to use than Microsoft's CMD.EXE. While Microsoft's command-line shell has improved somewhat over the years, it's definitely inferior to Bash and other nix shells by a long shot.

Despite a few minor changes and improvements in Bash 3.0, however, the Bash shell hasn't changed very much with time. Bash's features have pretty much remained the same since I started using Linux back in 1996. Some folks will see this as a good thing. Indeed, I don't want to see Bash break compatibility with existing scripts or force longtime nix users to learn new ways to do things they already know how to do.

Still, I'm a bit intrigued by Jon Udell's description of MSH, Microsoft's next-generation shell. I typically scoff at Microsoft's claims to "innovation," since Microsoft is often quick to claim innovation for things that Apple or UNIX did, better, a few years before. But the features in MSH that Udell writes about actually do seem to qualify as innovation, and some interesting ideas. For example, MSH's ability to export data in XML format or Excel format, rather than just plain text. (Not that there's anything wrong with plain text, but...) As Udell writes:

My first reaction? MSH rocks. System administration on Windows, and ultimately everywhere, will be forever changed for the better.

At its core, MSH is an object pipeline. Unix, of course, invented the pipelining concept. But in Unix-like systems -- including Linux and OS X -- the data that's passed from one command to the next is weakly structured ASCII text. When you've got smart, self-describing objects flowing through that pipeline, it's a whole new ball game.

MSH is still a long way away, probably not due until Longhorn finally trots out sometime in 2006 or 2007. That's no reason that the Bash folks, or maybe some other project, shouldn't be thinking of ways to upgrade the Linux command-line experience and take it to the next level. Microsoft seems (finally) to understand that the point-and-click method only works so well for system administration, and they need to pony up a better command-line environment for administrators if they want to expand their presence in the server arena. If Linux and other nix OSes are going to stay ahead in this area, they need to start now.

Editorial standards