This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: cygpath -u doesn't seem to convert spaces properly
- From: Brian Dessent <brian at dessent dot net>
- To: cygwin at cygwin dot com
- Date: Tue, 25 Sep 2007 16:51:53 -0700
- Subject: Re: cygpath -u doesn't seem to convert spaces properly
- References: <fdc59a$ng5$1@sea.gmane.org>
- Reply-to: cygwin at cygwin dot com
Jerome Fong wrote:
> I am trying to use cygpath -u to convert my windows path to an unix path
> in my shell script. However, it has problems with paths that has spaces
> in it. For example, "cygpath -u c:\Program Files\Java" is converted to
> /cygdrive/c/Program Files/Java, which doesn't work. Is there a flag
> that I am missing?
The unix version is correct but still has spaces, which means it still
needs proper quoting. So if you are doing something like this:
ls $(cygpath -u 'c:\Program Files\Java')
then you are not quoting sufficiently. However, in your example below
you appear to be using the proper amount of quoting:
> $ cygpath -u "$(cygpath -m -s "c:\Program Files\Java")"
> /cygdrive/c/PROGRA~1/Java
So please give us an example of exactly the command that fails, because
there should never be a need to resort to using the 8.3 short filename
ugliness -- especially since this is an optional NTFS feature that can
be disabled in order to speed things up, which means it's not entirely
portable (not to mention wholly unnecessary as long as proper quoting is
used.)
Brian
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/