Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , 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" Date: Thu, 21 Dec 2000 19:12:03 -0800 (PST) CC: "'Dunn-Roberts, Richard'" , cygwin AT cygwin DOT com X-Mailer: ELM [version 2.4ME+ PL65 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit 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