Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

A Guided Tour of the Microsoft Command Shell

Posted by Zonk on Mon Oct 24, 2005 07:40 AM
from the its-cool-to-have-features dept.
jpkunst writes "Ryan Paul at Ars Technica provides an in-depth, 13 page review of the new Microsoft Command Shell (Monad). (The beta release can be downloaded for free from Microsoft.) From the conclusion: 'Despite my initial skepticism, I am deeply impressed with MSH technology, and I am legitimately excited about the future of the Windows command line.'"
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • by Anonymous Coward on Monday October 24 2005, @07:45AM (#13862979)
    We must have a working implimentation of this shell in Gnome immediately.

    I propose we call it Gonad.
    It will be the dogs bollocks.
  • by CyricZ (887944) on Monday October 24 2005, @07:45AM (#13862985)
    Has any project been started to provide an open source clone, similar to what the Mono Project has done with .NET?

  • by zaguar (881743) on Monday October 24 2005, @07:47AM (#13862993)
    The new google shell: Gonad

    It's nuts

  • by SomeoneGotMyNick (200685) on Monday October 24 2005, @07:49AM (#13863007) Homepage Journal
    Backslashdot

    Specializing in Unix bashing (somewhat of an ironic statement)
  • Jeez... (Score:5, Funny)

    by gowen (141411) <gwowen@gmail.com> on Monday October 24 2005, @07:49AM (#13863009) Homepage Journal
    the text-based shell is the nexus of computational control and the point at which proper articulation of will can transform commands into consequences Which leads to two questions : who wrote this shit, and were they getting paid per syllable?
      • Re:Jeez... (Score:5, Funny)

        by ikkonoishi (674762) on Monday October 24 2005, @09:10AM (#13863520) Journal
        Ah come on those things were great.

        My favorite.


        We are all aware that the senses can be deceived, the eyes fooled.
        But how can we be sure our senses are not being deceived at any
        particular time, or even all the time? Might I just be a brain in
        a tank somewhere, tricked all my life into believing in the events
        of this world by some insane computer? And does my life gain or lose
        meaning based on my reaction to such solipsism?
        ^
        ^ -- Project PYRRHO, Specimen 46, Vat 7
        ^ Activity Recorded M.Y. 2302.22467
        ^ TERMINATION OF SPECIMEN ADVISED
  • On The Pipe (Score:5, Interesting)

    by Murmer (96505) on Monday October 24 2005, @07:57AM (#13863062) Homepage
    It's worth mentioning here that the real strength of the pipe is not "what you can pipe", but "what you can pipe things from, and to", and the fact that you can daisy-chain them together as far as you like. There are literally thousands, maybe tens of thousands of little tools and widgets that you can pipe information into and out of to achieve various effects. Regardless of what new things the MSH pipe can do, the unix world has a significantly larger toolbox.
  • by CastrTroy (595695) on Monday October 24 2005, @07:58AM (#13863070) Homepage
    A shell is nice but, can you change all the settings from the command line? The fact that most of your settings are stored in the registry, makes things a lot harder to do from the command line. Sure you could probably change a key or two if you needed to. But you'd probably have to know the exact location. Browsing the settings, to find the key you want, would be a lot harder. Can you install most programs from the command line, and manage all your installed software from the command line. I like the fact that in Linux, most base system stuff is designed so that it can be done by the command line, first and foremost, I like the fact that Linux stores all the settings in text files. This means that you can change the setting with any text editor of your choice. Also, there is a huge library of tools available at the command line. Not just stuff that was thought up by the people who made your command line (bash, csh, zsh), but also anybody else who made just about any other utility.
    • by TummyX (84871) on Monday October 24 2005, @09:33AM (#13863681)
      If you had read the article you would have discovered that MSH includes a managed virtualfilesystem-like provider for the registry that allows you to navigate the registry and read/write settings.
  • by Dekortage (697532) on Monday October 24 2005, @07:59AM (#13863078) Homepage

    Just a few days ago, there was another article on Slashdot [slashdot.org] about how Ballmer wants to "storm Linux." If they can convince *nix people that Windows has a powerful CLI, this will do much to suck them in... it is the "eye candy" for true geeks.

    The article author starts to say this himself: My biggest frustration with MSH is the low quality of the actual shell interface. On my Linux system, I am extremely dependent on line editing keyboard shortcuts that simplify manipulation and alteration of command line input. MSH has very few line editing shortcuts, and extremely limited support for tab completion.

    And I remember when CP/M [sysun.com] was all the rage... *sigh*

  • ..C# (Score:5, Insightful)

    by jkind (922585) on Monday October 24 2005, @08:02AM (#13863109) Homepage
    Well it looks like C# will be alive and well for some time to come. This article definitely had the feel of Jesse Liberty's Programming C# OReilly book.
    " MSH has a number of unique features that make it easy for users to leverage .NET technology at the command line. Type casting is an easy way to transform a simple core type into a .NET instance or another core type. To cast an instance into another type, simply place the name of the desired type in brackets right in front of the instance. You can change a string into a number with an int cast:
    msh> [int]"5" + 5
    10
    "
    is basically the section from the book on boxing and unboxing. Anyway, as a C# developer, it's great to see the language isn't dying..
  • doing it for? (Score:5, Insightful)

    by sgt scrub (869860) <saintiumNO@SPAMyahoo.com> on Monday October 24 2005, @08:22AM (#13863197) Homepage
    I didn't get very far into the article before they got to the "we do things for you" part. Maybe I'm alone in this belief but I absolutely hate it when a language/shell/application will do things for me.
    For instance (from the article):

    MSH features the typical data types found in most other modern languages: strings, integers, arrays, and hash tables. When you enter any of those kinds of values at the command line, MSH will echo them back.
    msh> "blah"
    blah
    msh> 5
    5
    By comparison, in the Bash shell, expressions are always treated as commands and the echo command must be called explicitly if the user wants to display a value at the command line.


    If I want an echo statement I WILL TYPE echo! I don't want the software to ASSUME (make and ass out of me) if I make a typo!
  • by Xthlc (20317) on Monday October 24 2005, @08:31AM (#13863263)
    I kill me.

    Seriously though, the design of MSH is odd. Their hybrid of paradigms from functional programming and OOP is just weird and inconsistent. Having completely different syntaxes for invoking "Commands" and "Methods" is obviously a byproduct of trying to have both a traditional shell syntax and OOPy goodness, without thinking much about internal consistency.

    Typical Microsoft: very use-case focused, at the expense of helping their users build a consistent mental model of how their system works. I bet it's pretty hard to do anything in MSH that its designers didn't specifically anticipate.
  • hummm.... (Score:5, Insightful)

    by Vo0k (760020) on Monday October 24 2005, @08:57AM (#13863436) Journal
    I'm on page 6 already and I must say I start liking msh more and more.
    It's completely un-microsoftish!
    - It's very easy to shoot yourself in the foot. Extremely easy - anything that is not a command is an expression that is evaluated, so a typo may pass unnoticed and without a warning.
    - It provides lots of sweet syntactic sugar making things easy and terse while not overly obscuring them.
    - It takes some of the best from lots of other languages. Shamelessly too. ($_, select, | etc)
    - It makes some evilly hack-friendly assumptions ("current instance" is the current directory)
    - It will likely suck as an interactive shell, but makes simple scripts to automate system tasks obscenely easy. Likely, no more repeating 1000 times "click add user, type username, type password twice, mark 'Password never expires', enter Groups, select 'staff', click 'add group', click OK, click OK".

    It really looks like the project was created by the programmers while the management was on vacations, then all the details hidden and managers just fed with marketspeech while programmers worked on a tool that would finally make THEIR OWN life easier, instead of just appealing to managers of customer companies and making programmers' life more painful.
    • by canuck57 (662392) on Monday October 24 2005, @08:01AM (#13863103)

      Everyone knows that "msh" really stands for "Microsoft Hell".

      And once people realize it is crippled there will be a gsh (Gate Shell) and a bsh (Ballmer Shell) as equally handycaped as the msh. A legal suit will follow from Google for gsh but the bsh will last.

      Wouldn't it be easier just to get a copy of Linux and call it MS-Linux? I thought Microsoft thought all of UNIX/POSIX was crap and you didn't need a shell?

      • by Jugalator (259273) on Monday October 24 2005, @08:04AM (#13863114) Journal
        Are you talking about the new Vista UI?

        In that case, that's a visual style that's changing only the aspects of the UI Windows XP changed. Windows border styles and new flashy button hover effects, etc. Think of it as a different theme/skin, not a way for them to change the UI design guidelines. "OK" will still always be followed by "Cancel", group boxes will still group UI elements with a relation, menus will still be part of the applications and not the dsektop, combo boxes will still be recommended only in "little space" situations, and so on. :-)

        Actually, Microsoft has released preliminary design guidelines for Vista [microsoft.com], and I was surprised to see how much can be directly applied, and is even recommended to be applied like that, to Windows XP.

        Also, even in Windows Vista, just like in XP, can you still apply the Windows 2000 look & feel via a flip of a switch. That if anything should show that all they're really doing are mostly just applying new skins to sell their product, and not coming up with new guidelines that indeed would alienate their broad customer base. If I'm at some user that have applied some simple settings, I often lose myself in thinking I'm working on a Windows 2000 workstation when I'm in reality on XP.
        • by cnelzie (451984) on Monday October 24 2005, @08:19AM (#13863188) Homepage
          There's far more of a difference between Windows XP and Windows 2000, then just a graphical skin. The methods for accessing a handful of configuration settings windows has altered and in some cases, those configuration modules have changed significantly on their own.

              To say that there won't be changes beyond simple "Graphical skins" simply does not hold with the historical perspective of the sweeping changes with each major iteration of Windows.

              Windows 3.11 to Windows 95 to Windows 98 to WindowsMe, there were underlying configuration changes that made learning the "new" OS important.

              Windows NT 3.5 to Windows NT 4.0 to Windows 2000 to Windows XP also included significant configuration setting alterations that were far more drastic then the "Consumer Level" Windows Operating Systems.
      • by everphilski (877346) on Monday October 24 2005, @09:05AM (#13863490) Journal
        The colors may have changed but the patterns are the same. The start button is at the bottom left hand corner. The taskbar spans the entire bottom of the screen. The three buttons on the upper right of any window are minimize, toggle fullscreen/windowed, and exit, respectively, in that order.

        That is what uniformity is. Changing colors / visual schema is not uniformity. That's like saying a green car is not uniform to a blue car. You can still drive it with the knowlege you learned in drivers ed.

        -everphilski-
    • Re:impressive (Score:5, Insightful)

      by NickFortune (613926) on Monday October 24 2005, @08:05AM (#13863121) Homepage
      When you have to do things like "command | cut -d ' ' -f 3 | cut -d ':' -f 1" to get some data, you know something is WRONG.

      Agreed. In this case it's the coder, who should really have enough nous to print the data in the format in which he intends to use it. That's hardly rocket science, is it?

      Of course, if you didn't write the python script and don't have the time and/or skill to hack it, you might nd up using cut and the like to get the data in the format you need. The cool think about that is that it's possible. I don't know if the same can be said under MSH, but it seems unlikely - the focus of Monad seems to be .NET integration, not a stream based filtering command line environment.

      Then again, maybe you didn't even write the wrapper script and don't understand anything. If so you can always troll slashdot as an AC and get some astroturfing in.

        • Re:impressive (Score:5, Interesting)

          by SilverspurG (844751) * on Monday October 24 2005, @09:46AM (#13863771) Homepage Journal
          I'm reading the article and, you know, I'm just not seeing anything in here but a horribly tortured object oriented syntax and a reexpression of MS' nightmarish implementation of the common "--help". I did, however, find this admonishment:
          One of the major frustrations of MSH is the lack of support for piped input in other Windows applications. I can't pipe my HTML content into a new instance of Internet Explorer and I can't pipe my CSV content directly into a new instance of Excel.
          Considering the decades of command line functionality which sh type shells have, apparently MSH is only dreaming of what BASH can do.

          Followed closely by:
          I sincerely hope that the final release of MSH features an entire collection of convert and export commands for a broader variety of formats. Sources inside Microsoft tell us that MSH users will probably use COM and ActiveX to interface with major Windows applications.
          It's a security nightmare waiting to happen. If people think BASH viruses are a potential problem then imagine the full horrors of ActiveX with access to a system shell. At least Mozilla exploits don't lead to "rm -rf /" or malware stuffed all over the system.
    • by Hektor_Troy (262592) on Monday October 24 2005, @08:53AM (#13863413)
      Wait wait .. so ... when Microsoft does something interesting (it happens) and it's remade in whatever OSS flavor of the month, that's cool.

      But if Microsoft remakes something interesting made by OSS it's stealing.

      I thought, in both cases, it was a matter of reverse engineering and clean room implementation.