Mail Archives: cygwin/2010/03/10/05:45:42
On Mar 10 11:34, Thomas Wolff wrote:
> On 10.03.2010 11:03, Ilya Beylin wrote:
> >The problem is that DOS paths are treated differently, even within the
> >same program.
> >Take for instance, bash:
> >
> >$ builtin test -x "$WINDIR\system32\cmd.exe"&& echo ok
> >yes
> >$ builtin exec "$WINDIR\system32\cmd.exe" /C echo ok
> >-bash: exec: C:\WINDOWS\system32\cmd.exe: not found
> >
> >That makes a lot of headache both for users and for programmers who
> >have to remember about all such special cases
> Not really for programmers, as Corinna has demonstrated, unless you
> refer to shell script programmers.
> So there's fewer special situations in which this might be relevant,
> I think.
> And the limitation doesn't need "exec" to be involved but applies to
> "normal" invocation as well as file name expansion, too.
> Surprising (and the trigger of my response) is the observation that
> a single "/" substituted for one backslash, i.e. a mixed style path
> name, changes the situation:
>
> $ echo D:\\cygwin17\\bin\\min*.exe
> D:\cygwin17\bin\min*.exe
> $ echo D:\\cygwin17\\bin/min*.exe
> D:\cygwin17\bin/mined.exe D:\cygwin17\bin/mintty.exe
>
> So maybe for consistency it might be worth patching bash to fully
> support DOS style paths?
As far as Cygwin is concerned, it's a deliberate decision to treat DOS
paths different from POSIX paths. It all starts with DOS paths
circumventing the mount table. From there we have to assume certain
properties. The result is that a DOS path doesn't get the full
attention a POSIX path gets. Eventually Cygwin is a POSIX layer, so use
POSIX paths. The fact that DOS paths work as well is nice, but not the
main feature of Cygwin. For problematic cases, use cygpath.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
- Raw text -