This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: cygwin path problems


On Tue, 28 Jan 2003, Soren A wrote:

> Randall R Schulz <rrschulz@cris.com> wrote around 27 Jan 2003
> 5.2.0.9.2.20030127110753.027a0b00@pop3.cris.com:">news:5.2.0.9.2.20030127110753.027a0b00@pop3.cris.com:
>
> > Note, too, that if you have a classpath variable in POSIX format
> > (colons and no drive letters), you'll need to use something like
> > "$(cygpath -pm "$POSIXCLASSPATH")" to convert it.
> >
> >
> > Only (_only_) Cygwin-linked code will understand the "/cygdrive/..."
> > file names.
>
> And also note that if you are trying to use (bash/posix-unixy) shell
> *wildcards* [ ;-) ] to pass filenames as _arguments_ to your Java class
> (program), you need to know that Java will receive them in Cygwin's
> posix format and won't grok them. The results of a shell expansion like
> this:
>
>    /cdv/D/goodies/babe*.jpg
>
> IOW, won't be formatted like
>
>   "/cdv/D/goodies/babe1.jpg:/cdv/D/goodies/babe2.jpg:[...]"
>
> but instead just as plain list of space-separated filespecs. AFAIK,
> `cygpath' cannot help you there (corrections will come as a surprise but
> are welcome, "cygpath" gurus). Of course a little more elaborate
> shell-wrapper magic might hack you a way out of that problem, robustness
> and speed-performance are likely to be lacking, tho.
>
> So if you run into this trouble you might want to go download my Java
> class "CygwinShellInterface", written to translate Cygwin's posix
> filenames into Win32 ones that Java understands:
>
>   http://home.att.net/~perlspinr/framesets/cygwininfo_frmset.html
>
> Or re-invent that wheel, your choice ;-)
>   Soren A

Why, one doesn't have to be a "cygpath" guru at all!  A little judicious
application of sed, and you can turn a space-separated path into a
colon-separated one.  Which reduces the problem to the one already
solved... ;-)

Seriously, though, you could use something like
	"`/bin/ls /cdv/D/goodies/babe*.jpg | cygpath -w -f -`"
as the argument.  This should expand all the files.

It would certainly be a good idea to add multiple filename capability to
cygpath.  If I have time over the next week, I'll submit a patch.
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha@cs.nyu.edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

Oh, boy, virtual memory! Now I'm gonna make myself a really *big* RAMdisk!
  -- /usr/games/fortune


--
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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]