Next-gen Windows Command Line Shell Now in Beta
Suddenly_Dead writes "Microsoft's new command line shell, MSH or Monad, has entered the beta phase. Channel9 Wiki has information on how to download this (complete with Guest ID), and other related info."
I'll stick with bash or ksh, thanks very much. But thanks for trying.
Here's a Screenshot:
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\>
A command line. How innovative!
Windows gets more and more like Linix every day. At this rate, I soon won't be able to cut-n-paste between applications! Bring it on. Have they ported xcdplayer yet?
What kind of name is that? Sounds like a command shell that had one testicle removed.
It is , I beleive, the fist object oriented shell.
All the others use strings for piping.
Most *nix users i've seen writing online that tried it for a good while to really get used to it thoguht it was really good.
Well, Windows network admins? Say what you will about Windows, most of it's true. But lot's of serious companies use it, and some of them even hire smart people to admin their systems. Could be usful for something like that, maybe.
"Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
... doesn't have a web interface...
I've had it since yesterday.
My first impression - well, it will be fine for scripting, but as it stands it's appaling as an interactive shell - possibly slightly worse than cmd.exe as an interactive shell, and falling far short of bash/tcsh et al. The defaults for the commands seem way too verbose. If you're just passing objects around in a script that's fine - but for interactive use, it's just awful.
Oolite: Elite-like game. For Mac, Linux and Windows
That was the sound of the point, flying past Microsoft's Collective brain.
The Unix shell is the implementation of the Unix philosophy of small parts working together. It's the antithsesis of Windows' philosophy of providing everything possible through DLLs distributed with the OS.
For a shell to be useful, you need lots of little tools. Otherwise you're just trying to provide an isomorphism to the GUI, with command line switches and arguments taking the place of check boxes.
On the other hand, I suppose it's better than nothing.
Raise your children as if you were teaching them to raise your grandchildren, because you are.
What's wrong with just running the Perl debugger, for an interactive shell? If the *nix shells were as limited in their reach into the OS APIs as the Windows commandline UIs have been, I'd use "perl -de 1" instead of bash or sh. As it is, I use that Perl shell for most commandline programming, especially for any data processing tasks. And a Perl shell has thousands of existing scripts, most of which work on Windows as well as any other platform, and are easily customized to script Windows apps. Even more, the Perl platform has lots of modules that embed programmable clients to Windows apps into scripts, and lots of scripts that bundle them together. Why not use old all-encompassing Perl, rather than the new, strictly limited Monad?
--
make install -not war
.. it won't be so startling when you get the blue screen of death, seeing that you're already in a text screen mode.
Trying to script using cmd, vbscript, wsh, wmi, adsi technologies compared to the userland in Unix systems for core system administration is a complete hassle. I have ended using Perl w/ Win32::* extensions and a lot of backticking and substitutions to get the job done. I will be looking forward to any improvements that Monad provides. I really hope that Microsoft looks toward BSD (Mac OS X) and Linux systems and takes to heart the ease that shell scripting in these systems provides. And for God's sake, make it easier to determine the IP address associated to a printer in a clustered virtual print queue! (Hint: you have to use an undocumented DLL that can only be found in a locked filing cabinet stuck in a disused lavatory in an unlit cellar with a sign on the door saying 'beware of the leopard' section of the Resource Kit).
Strange women lying in ponds distributing swords is no basis for a system of government.
Here
Irritable, left-wing and possibly humorous bumper stickers and t-shirts
how MS bashes linux, and yet is trying to become more and more like it...
Probably a very common business tactic, bash the competition and at the same time assimilate its best features, but still, poor style.
I work for the Department of Redundancy Department.
One spyware infested crazy windows zombie machine botnet to rule them all!
Microsoft will continue to make unsecure software but this time with a way for the botnet controllers to actually do something with the botnets.
Hitler's in the fridge.
People who uses windows, obviously. Most of Microsoft users do not analize what they use - they just use it, and they've though that buttons are better than scripting just because Microsoft has been telling them that for years. Now that microsoft says scripting is useful, they'll think it's useful. They don't know if scripting is "good" or "bad", they're not CS people (and even if they are they may be clueless) so they think whatever they're told to think
A windows shell, without the various limitations of the DOS shell, would be very useful in more ways than I can count. For example, DOS .bat files are still used a lot, especially in cases where you want to run an application, like a Java based program, with it's own system environment setup.
Lots of people are "bashing" this up agianst various Unix shells, but what does it matter? Windows needs something like this, period.
Windows has had symbolic links since Windows 2000. It was called junction points.
In XP it was renamed as reparse points.
While they are on their way to being more Unix-like how about fixes their broken backslashes. It would be nice to be able to do:
cd '/Program Files/Mozilla Firefox'
"What should we name it?"
"Let's combine 'Microsoft' and 'Gonad'. It'll make Unix jealous."
fellows, does it really matter? i hear Monad is quite good. but then so is bash. so is emacs shell. or perl/python/lisp interpreter of the day...
honestly, the shell is just another language, the utility and efficiency of which depends on the environment, the use, the user, and a million other things.
so stop bashing Monad as a unix wannabe. unix didn't invent the commandline anyway. this is like a blind man making fun of a deaf man.
I didn't write this but I wish I had been there.
e s.html
" I've been attending the USENIX NT and LISA NT (Large Installation Systems Administration for NT) conference in downtown Seattle this week.
One of those magical Microsoft moments(tm) happened yesterday and I thought that I'd share. Non-geeks may not find this funny at all, but those in geekdom (particularly UNIX geekdom) will appreciate it.
Greg Sullivan, a Microsoft product manager (henceforth MPM), was holding forth on a forthcoming product that will provide Unix style scripting and shell services on NT for compatibility and to leverage UNIX expertise that moves to the NT platform. The product suite includes the MKS (Mortise Kern Systems) windowing Korn shell, a windowing PERL, and lots of goodies like awk, sed and grep. It actually fills a nice niche for which other products (like the MKS suite) have either been too highly priced or not well enough integrated.
An older man, probably mid-50s, stands up in the back of the room and asserts that Microsoft could have done better with their choice of Korn shell. He asks if they had considered others that are more compatible with existing UNIX versions of KSH.
The MPM said that the MKS shell was pretty compatible and should be able to run all UNIX scripts.
The questioner again asserted that the MKS shell was not very compatible and didn't do a lot of things right that are defined in the KSH language spec.
The MPM asserted again that the shell was pretty compatible and should work quite well.
This assertion and counter assertion went back and forth for a bit, when another fellow member of the audience announced to the MPM that the questioner was, in fact David Korn of AT&T (now Lucent) Bell Labs. (David Korn is the author of the Korn shell)
Uproarious laughter burst forth from the audience, and it was one of the only times that I have seen a (by then pink cheeked) MPM lost for words or momentarily lacking the usual unflappable confidence. So, what's a body to do when Microsoft reality collides with everyone elses?"
source = http://www.flutterby.com/archives/1998_Sep/quicki
Sorry about the writing. Robot fingers, you know? Cliff Steele in DOOM PATROL #23
Some bits about the shell:
Natively, both forwardslash and backslash are allowable as separators. You can use both and even intermix them. So 'C:/program files/Mozilla/' should work just fine.
The verbosity is a bit annoying, but that can be taken care of via aliasing. Also, all options are shortenable as long as they're disambiguous. Furthermore, you can alias everything just like you can in unix, so if you don't like get-process as a name you can just alias it to gp or ps or whatever you like.
Why it's better than using Perl: because it has built-in OS hooks. You don't get the list of processes back when you run get-process: you get a streamed list of processInfo objects. If you want to store them and use them later, you can. If you want to kill a specific process, you can run process.kill on it. Want to browse the registry or AD the same way that you browse the filesystem? You can do that too. Want to format anything in a certain way? You can pick and choose what columns to display and how to display them easily, and you can set these as the defaults for these objects.
I'd strongly recommend trying it. As a linux user and a windows user, it has a lot to recommend it. It has much of the good parts of unix-style ideals - small parts, working together and all that is where the name comes from (it's a Leibniz idea, in case you were wondering). It's very composable and mixable. It works quite a bit better than any other scripting language in exposing the native APIs. It almost allows lamdba closures; it is a lot closer to lisp than to perl or bash.
Try it.
When I first read this, I too thought MS was just retooling some form of CMD to compete with the new-found craze in command lines. But then I read about it on Wikipedia.org. It's considerably more than most of you are thinking. I'm not going to point out what it does here, go read about it(if you don't know what it is.). But how much of this is Microsoft bashing and how much of this is a legitimate analysis of the quality of computer user tools? I think we're seeing a world where things are starting to settle in to what they should be. Windows are going to be desktop machines, *nix are going to run servers(not IIS) and Macs will continue to win the hearts and minds of artists, universities and affluent kids. MS is not reinventing UNIX. They're simply providing *NIX-like tool for "Windows" developers'. It's called competition and it's good for us. It gives me yet another option to choose from. Welcome it! you don't have to use it if you don't like it.
- nightcrawler "Reality is an illusion, albeit a ver persistent one..." -A.Einstein
What the fuck where you trying to say?.
Not to be pedantic about your pedantry, but I think you meant were, not where.
Does this mean that tracert will become traceroute and dir become ls? Good god the implecations are huge.
Those who do not understand Unix are condemned to reinvent it, poorly
.NET class derived from our base class and tag it with a NOUN and VERB. The properties of that class become PARAMETERS.
Actually, in this case it should read...
Those who do not understadn VMS are condemned to reinvent it, poorly
Monad is heavily influenced by VMS, not the UNIX shell.
From an interview w/ the Monad developers.
MSFT Jeffrey Snover (Expert):
Q: I've heard Monad has VMS roots... will we have a utility or functionality similar to VERB to create our own verb commands and parameters?
A: We are very influenced by the VMS (and AS400) environments. That said, we don't have the same set of utilities. Do define you own command, you write a
It's rather sad to see people dismissing this so quickly. I can guarantee if this was an Objective-C based shell from Apple people would be slobbering all over it by now, and saying how innovative Apple were, probably with some jabs at Linux too. I remember seeing an initial presentation about MSH a while back and the thinking behind it impressed me then, I'll be keen to try this when it's fully released.
The fact that the Unix command line has stood the test of time when virtually everything else has been redesigned and redesigned and redesigned is an amazing testament to the thinking which went into it.
They basically got it right.
They must have, otherwise it *would* have been redesigned or have fallen by the wayside decades ago. Decades, in IT. *Decades*. Think about it.
Sure, something may well come along which is "a better way" but I doubt it'll be MS who come up with it, they don't have a philosophy so I don't see how they could.
Government of the people, by corporate executives, for corporate profits.
"Server Error in '/' Application."
Is computing really becoming pervasive ?
At least it has a sense of humor 8)
'Server Error in '/' Application.
Runtime Error
Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.
Details: To enable the details of this specific error message to be viewable on remote machines, please create a tag within a "web.config" configuration file located in the root directory of the current web application. This tag should then have its "mode" attribute set to "Off".
Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's configuration tag to point to a custom error page URL.
'
It takes 40+ muscles to frown, but only four to extend your arm and bitchslap the motherfucker
I don't think many of us care that the command names are a little hard to remember. I have just as much trouble remembering stuff from APIs with nice names like Java.
No, this highlights a weakness in UNIX shells: we have to parse things. It's slow and it's a huge pain. It seriously limits what we can do. grep, sed etc can be used to manipulate streams but nobody ever implements the complete grammar of the input they can get. They implement some subset that's good enough for the job at hand and tweak it when it screws up. It's worked well for decades, but that doesn't mean we can't do better.
Having a data structure passed along a pipe like MSH does is a huge advantage and very efficient, but I think most UNIX people can agree that it's not worth it to bring everything into the same process. What's an alternative? Serialize the data structure (in some human readable form to stay true to UNIX tradition) and pass that down the pipe, from one process to another. That would work with the pipes we have now and the shells we have now, we just need new tools and a serialization protocol.
I rarely criticize things I don't care about.
WTF?
I need sleep...
Microsoft programmers should look up "second system effect": they keep making the same mistake again and again.
If you want to see some good (or at least interesting) directions people have taken shells into, there are Plan 9 rc (same idea as sh, but cleaned up), fish (better interactive features), and Tcl/Tk (shell-like programming for a full scripting language, including the ability to embed Java and C#/CLR objects). And if you want a full scripting language, Perl, Python, and Ruby fit the bill.
A note to FOSS programmers: if you are really itching to clone Monad, please do yourself and everybody else a favor, implement your clone in Perl or Python: a Monad-like shell becomes almost trivial in those languages because they have all the reflection capabilities you need, and because they already have all the hookups to Java, C#, and COM that you might want.
Firstly, you're name speaks volumes about old FUD. Secondly, although Unix might be getting steamrolled, Free Software un*x wasn't, isn't, and will never be. Thirdly, I think its a funny story whether you're a fan of unix or not. On topic, it sounds like MS had finally figure out that they have to work harder to undermine the un*x installation base- nothing else
http://en.wikipedia.org/wiki/Signature_bloc
Very cool shell; if you don't know anything about it, don't assume it's just a bash or ksh clone.. it's actually something fairly unique.
Their bad (as in both -- nasty and foolish) ways of doing things are catching up with them all the time.
In Soviet Washington the swamp drains you.
Actually, I think I have heard/read that since Windows 2000 (and maybe earlier for the NTs), every administration task in Windows was required to be manageable via command line, as well. Something like that, at least - there certainly are a lot of command line apps in
I don't know what exactly makes cmd.exe anemic - it's perfectly fine, in my opinion. It's not as powerful as bash or the other Unix shells, and the scripting is terrible, but it's just fine for basic interactive file management and the execution of command line apps. It does name completion (command.com didn't), which is basically THE killer feature for me.
There is no clear way to interface with the system, such as with kill -SIG PID (granted, this is because Windows is void of a kill binary); the intent behind this is likely the design philosophy of Windows. Ships with every Windows post 2000, I think.
As for other interfaces with the systems, like I said, there is a lot more than what you expect. The NET command certainly is well-known and used for about a thousand things, notable starting and stopping services. It certainly beats the rc.d scripts from my point of view, although I guess that's just because I'm used to it.
That said, one of the first things I do in a fresh Windows install is get Cygwin along with some Unix essentials - grep, wget, etc. And ls for the pretty colors.
Switch back to Slashdot's D1 system.
The entire .NET class library is exposed to MSH. And the class library almost entirely wraps all Win32's functionality. So yes, you can do anything. The design philosophy behind Longhorn is that any UI configuration must be exposed in the CLI. On and by the way, you get lossless JPEG rotation in Longhorn.
Having tried to use the VMS shell once, if Monad is based on VMS, then Monad and Microsoft deserve each other. :)
"Every man is a mob, a chain gang of idiots." - Jonathan Nolan, Memento Mori
Why, exactly? There are plenty of alternatives for scripting - both by Microsoft (WSH) and of course there's also Python, Perl and everything else. And for interactive usage, the existing cmd.exe is sufficient, to me anyway. Once I figured out how to enable auto-complete I didn't really miss anything from the Unix shells. Hm.
Switch back to Slashdot's D1 system.
Whilst the UNIX style unified directory hierarchy is aesthetically pleasing to computer scientists, I've never been convinced that it's really more usable. On Windows, people can learn a few simple letter to concept mappings "A" is the floppy disk, "C" is the stuff inside the Computer, "D" is the cD-rom drive, "E" is their usbEE kEE. Obviously not all systems will be like that, but it's common enough. On UNIX systems the location of floppy disks, installed programs, mounted USB keys and so on tend to move around unpredictably.
Incidentally, talking of legacy concepts, what do you think "mounting" is? It dates from the time when you had to mount tapes onto their reels!
licensing concerns (like XP workstation allowing only one user at a time);
I don't see how this would affect a command shell designed for personal use. I also don't understand how it only allows one user at a time - in the copies of XP I've seen multiple users can log in at once, then you can rapidly switch between them. If you are thinking of X and terminal servers, well, you can have a command line without that. Look at MacOS.
wide-spread security concerns resulting in the feature being turned off by default on most installations;
There's no evidence I can see that suggests this would be off by default. Actually MSH could be a lot more secure than the UNIX shell as it can be fully controlled by .NET Code Access Security, which is more fine grained than traditional UNIX permissions.
wide-spread fears of accidental and intentional incompatability;
By adding a new end-user feature? That never stopped them adding themes, Media Player, MSN Messenger, etc. Compatibility concerns for something totally new are far less serious.
being only available as part of an expensive (and extensive!) upgrade;
In contrast to what? Microsoft backport far more stuff than Linux vendors do, and Apple basically doesn't backport anything at all. That's $120 per upgrade, thanks very much.
Seriously. The guys working on MSH have blogs, I read a few, and they seemed very sharp to me. The MSH API seems quite lightweight and I suspect you'll be able to create new commandlets very easily - far easier than you can create new command line tools on Linux. Some of the examples they showed would require thousands of lines of code to write on Linux once you take into account the build system, the fact that they're usually written in C, the text parsing with extra checks for buffer overflows etc. Yet using the MSH API they fitted onto a single screen of text.
I'm not too worried, I don't use Linux over Windows just because of bash (surprise), I use it because it's Free (and it has some other neat features I like). Actually, most UNIX shells suck ass. Their builtin programming languages are hideously primitive, unintuitive, and are easy to screw up. Getting basic information out of common tools requires a guru-level knowledge of sed, awk and Perl style regular expressions which are themselves primitive, backwards and unintuitive.
You'd have to work pretty hard to produce a command line worse than the UNIX one (and no, cmd.exe does not count as "working hard", I suspect it's had about a weeks worth of work in the last decade).
Actually, if you're using WSH and not batch files (and there's no reason why you shouldn't on win2000 and up), the scripting really isn't that bad. In fact, it's much nicer than scripting in bash with its awful syntax and near-inability to cope with data containing spaces. Damn powerful too as long as your apps expose meaningful DCOM objects. (Most MS apps do nowadays.)
I still script quite a bit in bash, since it's simply more portable, but scripting in Windows really isn't all that painful anymore.
When you update your installation and suddenly all your scripts break.
Alternatively, when you keep having to add new data on the *end*, instead of next to the columns that it's logically related to.
Breaking Into the Industry - A development log about starting a game studio.
Also, the 4DOS wildcard rename feature has unfortunately not been adopted.
What no tabs?!?
When you update your installation and suddenly all your scripts break.
Of course nothing ever breaks with a Windows update.
"Rocky Rococo, at your cervix!"
Sorry, this is just laughable. So, you, consider "D" to be easier to associate with a "cD-rom", than "/cdrom"? You are not even trying to justify the "A" for "floppy disk" :-)
The reaction of computer scientists should be your guide. These people tend to know answers to questions, which you don't know enough to even ask.
Oh, that's easy. You named it yourself: "for personal use". To ensure, it is available for personal use only you may only be allowed to run a single instance of it, unless you purchase the server license. Or it may not be available to telnet sessions. Or something bizarre like that. They better... With sh, csh (or whatever Unix shell rocks your boat) you can do anything. It may not be pretty, but it will work. Witness configure-scripts. With cmd.exe you can't even pass all of your own arguments down (there is no equivalent of "$@") -- forget about procedures, loops, etc. Oh, I'm sure, there are plenty of smart individuals working for Microsoft. However, the firm's organization and its dirty unatoned past (and, likely, present) will continue to weight on the firm's products -- and their reputation -- for some time... And these -- the reputation and perception -- are the subject of the thread.In Soviet Washington the swamp drains you.