Jonathan of Click3X NYC wrote:
> Do you know any emulators that can run unix/linux shell under DOS?
>
> Basically, I want to make the DOS shell feels like running a unix/linux
> shell.
Hi Jonathan,
Yes, there are various packages that do this.
Cygwin is the one I hear about the most. However, I have my reservations
about Cygwin, as its CSH/TCSH are pretty weird IMHO, and I've been able
to crash its shell under odd circumstances. It's drive mapping is also
strange to me.
Microsoft has a complete package for free IIRC called
"Services For Unix" (SFU), info here:
http://www.microsoft.com/windowsserversystem/sfu/default.mspx
I've heard varying reviews of this from customers; some say it's
great, and even use its NFS client/server. Others said they didn't
like it. I've not tried it myself. But hey, it's free!
Both Cygwin and SFU come with all the unixy tools: awk/sed/grep
and all that.
As a unix purist, though, I often run into goofy things that drive
me a little crazy with the emulations, as they often have weird little
disfunctions due to the local platform not being true unix, which means
fork/exec, job control and stdout redirection don't always work in
'predictable' ways.
So I actually prefer the DOS shell, and have gotten used to its
limitations, and find it's somewhat more capable these days than
it used to be. I found a Microsoft book called "WINDOWS COMMAND-LINE"
(ISBN 0-7356-2038-5) very useful which documents all the recent DOS
shell commands very well.
When I'm forced to work in a Windows universe, I usually
work this way:
I do all my scripting in Perl, which alleviates the need
for awk/sed/etc. Once in a while I'll program stuff in DOS BATCH,
but I try to avoid it, preferring perl instead.
The only tools besides perl I find I need right away whenever
confronted with a fresh Windows system are:
o VI; I usually just install this one:
http://seriss.com/people/erco/ftp/winnt/vi/
..I drop the vi.exe and xxd.exe in c:\windows.
The _exrc is optional; you can drop it in your
home directory, and tweak to taste; I like to program
the q/z keys scroll, and the ;/, keys to page up/down.
o Putty -- a good SSH/TELNET client that handles window
resizing and ANSI text editors well (vi/emacs), and supports
creating SSH tunnels, useful for tunneling VNC through firewalls
http://www.chiark.greenend.org.uk/~sgtatham/putty/
o Rshd -- an rsh daemon that, if installed on the windows boxes,
lets you do remote execution of DOS commands on Windows machines
via Window's own RSH client. There are many rshd daemons, both
free and for pay. I like the free ones; I've used this one successfully:
http://sourceforge.net/projects/rshd/
and keep a snapshot of the readme and binary on my personal site here:
http://seriss.com/people/erco/ftp/winnt/rshd/
The above lets me write scripts, ssh into other machines, and run DOS
commands on remote windows machines easily via my scripts.
I don't find myself using the TCSH much under windows,
because piping, stdio redirection is all supported by DOS,
anything too clever is usually best done in perl instead.
That said, I do keep this simple tcsh handy, which I find less
confusing than the cygwin one:
http://seriss.com/people/erco/ftp/winnt/tcsh/
Also, I haven't tried it, but this looks promising:
http://www.research.att.com/sw/tools/uwin/
What's interesting about this is its from AT&T (the originators of Unix),
so I'd be very interested to try it myself at some point.
|