delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2000/12/21/22:13:17

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
From: ejfried AT california DOT sandia DOT gov (friedman_hill ernest j)
Message-Id: <200012220312.TAA22204@california.sandia.gov>
Subject: Re: bash wildcard expansion
In-Reply-To: <2CB1272B2212D211974D00805FCB57420AFAFBE6@MSEXCHANGE> from "Puttkammer,
Roman" at "Dec 21, 2000 09:36:38 pm"
To: "Puttkammer, Roman" <roman DOT puttkammer AT multex DOT com>
Date: Thu, 21 Dec 2000 19:12:03 -0800 (PST)
CC: "'Dunn-Roberts, Richard'" <RICHARD DOT R DOT DUNN-ROBERTS AT saic DOT com>,
cygwin AT cygwin DOT com
X-Mailer: ELM [version 2.4ME+ PL65 (25)]
MIME-Version: 1.0

The answer is that java.exe, like many Win32 tools, expands
the '*' itself. Remember, COMMAND.COM doesn't expand wildcards, so
individual tools have to do it for themselves. To see this, go to a
MS-DOS prompt window and type '*'. You'll get "Bad command or file
name" -- i.e., no such file *. Now type 'java *'. You'll see a
NoClassDefFound exception naming the alphabetically first file in that
directory. Now try 'java "*"'. Now you'll get a NoClassDefFoundError
for * -- i.e., java.exe itself interpreted the quotes.

Now, given this nice explanation, I -still- can't get quite the effect
you want under bash. I expected java \"\*\" to work, but it seems that
in that case java sees the quotes as part pf the argument, and I'm not
clear why this is different that under the MS-DOS prompt.


I think Puttkammer, Roman wrote:
[Charset iso-8859-1 unsupported, filtering to ASCII...]
> 
> sorry, my example could't have been worse: i just wanted to
> illustrate that the asterix was being expanded (by the shell?)
> even though it's escaped.
> 
> the problem is: when invoking
> 
> 	java someclass \*
> 
> the \* is being expanded to the list of files in the current
> directory (the class is invoked with a list of filenames rather
> than with a "*".) AFAIK that shouldn't be.
> 
> roman
> 
> > -----Original Message-----
> > From: Dunn-Roberts, Richard [mailto:RICHARD DOT R DOT DUNN-ROBERTS AT saic DOT com]
> > Sent: Thursday, December 21, 2000 9:06 PM
> > To: cygwin AT cygwin DOT com
> > Subject: RE: bash wildcard expansion
> > 
> > 
> > It looks to me as if the reason here is that cmlistener.class is being
> > passed to java.  Java does not take the extension.
> > 
> > The correct command is > java cmlistener
> > What is being issued is > java cmlistener.class
> > 
> > Since Java uses the dot as a path separator, it is looking for
> > cmlistener/class.class
> > 
> > As to why it is working in dos, I don't know that answer to that.
> > 
> > I'm curious.  Why do you want to invoke the Java VM with 
> > multiple class
> > files on the command line.  Only the first would get 
> > executed, I think, and
> > the rest would be treated as command line arguments (String 
> > args[]) to the
> > first.
> > 
> > 
> > Richard Dunn-Roberts
> > Science Applications International Corporation
> > 12479 Research Parkway
> > Orlando, Florida, 32826-3248
> > 
> > richard DOT r DOT dunn-roberts AT saic DOT com
> > 
> > vox:	(407) 207 2752
> > fax:	(407) 277 5395
> > 
> > 
> > 
> > -----Original Message-----
> > From: Puttkammer, Roman [mailto:roman DOT puttkammer AT multex DOT com]
> > Sent: Thursday, December 21, 2000 8:40 PM
> > To: 'cygwin AT cygwin DOT com'
> > Subject: bash wildcard expansion
> > 
> > 
> > 
> > I hope i'm not getting flamed for this one, but what am I missing? A 
> > command line argument is being expanded by bash even though 
> > it's escaped.
> > 
> >   /tibrv/src/examples/java# D:/jdk1.3/bin/java.exe \*
> >   Exception in thread "main" java.lang.NoClassDefFoundError:
> > cmlistener/class
> > 
> > "cmlistener.class" is the first filename in the directory.
> > 
> > Same thing if i'm using single quotes to escape. Note that 
> > java.exe does not
> > expand arguments itself; it works as expected from a DOS shell:
> > 
> >   D:\TIBCO\TIBRV\src\examples\java>java "*"
> >   Exception in thread "main" java.lang.NoClassDefFoundError: *
> > 
> > "ls '*'" or "ls \*" works as expected ("ls: *: No such file 
> > or directory".)
> > 
> > roman
> > 
> >   Cygwin DLL version: 1001 / 6
> >   GNU bash, version 2.04.0(1)-release (i586-pc-cygwin)
> > 
> > -- 
> > To pour bottled sauce over salad is to miss the point of 
> > salad altogether.
> >                                      - Fairways, 
> > advertisement for olive oil
> > 
> > This email message is for the sole use  of the intended 
> > recipient(s) and may
> > contain  confidential and  privileged information.  Any 
> > unauthorized review,
> > use,  disclosure or distribution is prohibited.  If you are 
> > not the intended
> > recipient,  please contact the sender by reply email  and 
> > destroy all copies
> > of the original message.
> > Any views expressed in the email message  are those of the 
> > individual sender
> > except  where  the  sender  specifically states  them  to  be 
> >  the views  of
> > Multex.com, Inc.
> > 
> > Roman Puttkammer                                      
> mailto:putt AT multex DOT com
> Multex.com, Inc.                                       http://www.multex.com
> 33 Maiden Lane                                         tel +1 (212) 859 9908
> New York, NY 10038                                     fax +1 (212) 859 9810
> 
> --
> Want to unsubscribe from this list?
> Check out: http://cygwin.com/ml/#unsubscribe-simple
> 
> --
> Want to unsubscribe from this list?
> Check out: http://cygwin.com/ml/#unsubscribe-simple
> 
> --
> Want to unsubscribe from this list?
> Check out: http://cygwin.com/ml/#unsubscribe-simple
> 



---------------------------------------------------------
Ernest Friedman-Hill  
Distributed Systems Research        Phone: (925) 294-2154
Sandia National Labs                FAX:   (925) 294-2234
Org. 8920, MS 9012                  ejfried AT ca DOT sandia DOT gov
PO Box 969                  http://herzberg.ca.sandia.gov
Livermore, CA 94550

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019