steveha@microsoft.UUCP (Steve Hastings) (07/11/90)
In article <9007091948.AA15079@edison.CHO.GE.COM> rja <rja@edison.cho.ge.com> writes: >It is unreasonable to claim that PolyShell is >"better" than the MKS Toolkit (which includes >the MKS Korn Shell). > >Both are fine products but a direct comparison along the >lines of "is rumoured to be better than" is uncalled for >since they really are targeting different customers >(BSD people and SVID/POSIX people) and have different >goals, capabilities, and limitations. I completely agree here. I am a rabid PolyShell fan, but I know there are people for whom MKS is a better fit. PolyShell is much better for me than MKS Utilities because it has a different emphasis. It is an attempt to blend the best of DOS and UNIX together. Some of the features of MKS designed to make it more UNIX-style bother me when I try to use it. There are several specific differences that may seem small, but make my decision quite final. First is that the MKS utilities goes out of its way to make sure that you can never have a default directory on a drive. For example: $ cd c:/usr/bin $ cd d:/ $ ls c: the ls will list the root of c:, not the last directory you were in. This is completely different from DOS, and arguably closer to UNIX. I prefer the PolyShell version, where "c:/" refers to the root and "c:" refers to the current default directory on drive c:. I especially prefer it when I am connected to six network drives at once and have a 20-character-long default directory path on each of them. I considered writing a whole set of aliases using environment variables to hack MKS to do what I want, but that would not work from within applications. And with PolyShell available, I don't need it. The other big difference is the way the two shells allow you to type UNIX-style directory delimiters ("/" instead of the DOS "\") and command-line switches ("-" instead of the DOS "/"). MKS takes the easy way, by setting the internal DOS characters to their UNIX values. This not only fixes command-line commands, it also works inside applications that allow you to type a path. But it breaks several applications I have used that make use of overlays -- the applications try to use "\" as a directory delimiter and DOS chokes, since now it wants "/" instead. PolyShell takes advantage of the fact that it is a shell -- it has a "fixbs" command that fixes a command line from "/" characters to "\" characters before DOS sees it. The result is that you can type "/" and "-" on the command line (only -- applications still want "\") and no applications are broken. This is better for me, since most of my applications manage paths without me typing them. This is also better for me because PolyShell allows you to mix the characters up -- you can run a PolyShell command with "-" and "/" and then immediately run a DOS command with "/" and "\". (In fact, you can run a PolyShell command like this: ls -l /usr\bin\this/that and it will work!) PolyShell may not be as POSIX compatible as MKS, but it is compatible enough that I once unpacked a shar archive with it. It meets my needs exactly. As everyone on the net says, "Your mileage may vary." But please at least consider PolyShell if you are in the market for a UNIX-style shell. -- Steve "I don't speak for Microsoft" Hastings ===^=== ::::: uunet!microsoft!steveha steveha@microsoft.uucp ` \\==|