Christopher Faylor <[EMAIL PROTECTED]> writes: > On Fri, Feb 14, 2003 at 10:12:54AM -0700, Matt Armstrong wrote: >>In the Win32 world, quotes around path elements are valid. If I have: >> >> PATH="c:\foo bar" >> >>cmd.exe will find executables in that dir. >> >>When I run bash or zsh, things in "c:\foo bar" aren't found. > > This is a UNIX emulation environment. "c:\foo bar" doesn't mean the c drive > in a PATH variable. It means the 'c' directory followed by the '\foo bar' > directory. Colon is the separator for PATH. > > The correct syntax for the above is PATH="/cygdrive/c/foo bar" .
I understand completely -- as I said somewhat ambiguously I was setting the path to "c:\foo bar" in cmd.exe, then running bash. When Cygwin initializes its PATH from the Win32 one, it doesn't handle quoted elements properly. E.g. cygwin converts the Win32 path like this: c:\foo;"c:\bar" -> /cygdrive/c/foo:"c:\bar" But it should do this: c:\foo;"c:\bar" -> /cygdrive/c/foo:/cygdrive/c/bar The latter is the semantic equivalent to the Win32 path. The session below describes exactly what I'm talking about. Microsoft Windows 2000 [Version 5.00.2195] (C) Copyright 1985-2000 Microsoft Corp. C:\>cd foo bar C:\foo bar>dir Volume in drive C is MYDISK Volume Serial Number is 7C67-4A84 Directory of C:\foo bar 02/14/2003 10:01a <DIR> . 02/14/2003 10:01a <DIR> .. 02/14/2003 10:01a 19 foobar.cmd 1 File(s) 19 bytes 2 Dir(s) 1,021,567,488 bytes free C:\foo bar>cd .. C:\>foobar 'foobar' is not recognized as an internal or external command, operable program or batch file. C:\>set PATH="c:\foo bar";%PATH% C:\>foobar C:\>echo I ran foobar! I ran foobar! C:\>cd cygwin C:\cygwin>cygwin maarmstr@MAARMSTR ~ $ which foobar.cmd foobar.cmd: Command not found. maarmstr@MAARMSTR ~ $ echo $PATH /usr/local/bin:/usr/bin:/bin:"c:/foo bar":/cygdrive/c/WINNT/system32:/cygdrive/c/WINNT:/cygdrive/c/WINNT/System32/Wbem:/bin:/usr/bin:/usr/X11R6/bin maarmstr@MAARMSTR ~ $ export PATH='/cygdrive/c/foo bar':$PATH maarmstr@MAARMSTR ~ $ which foobar.cmd /cygdrive/c/foo bar/foobar.cmd maarmstr@MAARMSTR ~ $ -- matt -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/