bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Is there a Windows native port of Bash or Bourne Shell(no cygwin)?


From: Linda Walsh
Subject: Re: Is there a Windows native port of Bash or Bourne Shell(no cygwin)?
Date: Tue, 29 Jan 2008 10:35:51 -0800
User-agent: Thunderbird 2.0.0.9 (Windows/20071031)

Chen(é) Jun(å) wrote:
sh -c "pwd" It outputs: /bin Oouups, what I expect was E:/msys/1.0/bin .
Suprised? You now know what the weird sh.exe does. It checks whether some
token starts with / , if so, it considers that toke a path and applies
trasformation. This is utterly rude. So this sh.exe cannot cooperate with
many existing Windows programs.
---
        It was deliberately designed that way by Bill Gates!!!
        "/" was used by CP/M on microcomputers -- I think they
copied the idea from early versions (Bell Labs) of Unix.

        Bill Gates made the path separator "\" to make DOS distinctively
different from CP/M, to try to avoid accusations of copying CP/M's
interface.  Dunno if he told DOS's creator to write it that way or
if he changed it in the code after he purchased it and before he
licensed it to IBM, but either way -- "\" has been an albatross
around DOS's / Window's neck ever since.

At the time, it wasn't so much of an issue.  "C" wasn't ported
to DOS at the time and neither were the unix utils, so the fact
that "\" is almost universally a "quote-next-char-as-literal"
wasn't so much an issue.  But now...programming anything in
Windows is a "drag" due to Bill Gates trying to hide Dos's
similarities from CP/M.  Idiot.

At least with Cygwin, you can somewhat control unix or dos path
conversion with "cygpath" which can convert paths either way.
I just wish cygwin's "system" features would integrate better
with windows...(things like being able to use kill to kill
windows processes, or kill -SIGSTOP" to suspend them, for
example...).

I use bash as a windows scripting language -- if I need to pass
something as a Windows path, I can use cygpath or single quotes
to literallize the string...  I call bash scripts from the
task-scheduler, nightly, to do Windows maintenance...





reply via email to

[Prev in Thread] Current Thread [Next in Thread]