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