command line arg expansion

Larry Hall (Cygwin) reply-to-list-only-lh@cygwin.com
Fri Jan 12 15:35:00 GMT 2007


<http://cygwin.com/acronyms/#TOFU>.  Reformatted.

jim wrote:
>> -----Original Message-----
>> From: Larry Hall (Cygwin) [mailto:reply-to-list-only-lh <AT> cygwin <DOT> com] 
>> Sent: Thursday, January 11, 2007 12:37 PM
>> To: cygwin <AT> cygwin <DOT> com
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<http://cygwin.com/acronyms/#PCYMTNQREAIYR>.  No one wants the spam.  Thanks.

>> Subject: Re: command line arg expansion
>>
>> jim wrote:
>>> I have recently upgraded from 1.5.12 to 1.5.23 and noticed 
>> something that
>>> has me wondering.    I compiled this on 1.5.23 and have run 
>> it under cmd.exe
>>> on on 1.5.12 and 1.5.23:
>>>
>>> #include <stdio.h>
>>>
>>> int main(int argc, char *argv[])
>>> {
>>>    int i, c;
>>>
>>>    for (i = 0; i < argc; i++)
>>>       printf("arg[%d]: '%s'\n", i, argv[i]); }
>>>
>>> On 1.5.12:
>>> C:\>e '/.*/'
>>> arg[0]: 'e'
>>> arg[1]: '/.*/'
>>>
>>> On 1.5.23:
>>> C:\>e '/.*/'
>>> arg[0]: 'e'
>>> arg[1]: '/../'
>>> arg[2]: '/./'
>>> arg[3]: '/.other/'
>>>
>>> It appears that the runtime initialization on 1.5.23 is 
>> doing command line
>>> expansion - is this correct?   If so, is this change 
>> documented somewhere so
>>> I get the full explanation?
>> See <http://cygwin.com/cygwin-ug-net/using-cygwinenv.html>.  
>> Look for the "(no)glob" explanation.
> Thanks Larry.   I had seen that option, but nothing to indicate that it had
> changed between 1.5.12 and 1.5.23.     Can anyone account for the difference
> between these two versions?    What I'm actually seeing is a behavior change
> in a perl script that does something like:
> 
> open(LS, "ls -dF1 /c* | grep '/.*/' |");
> 
> One way to fix this is wrap it with bash, but I'd like to understand exactly
> what changed.    Replacing grep with the program below showed me a
> difference in the wild card expansion and that lead to the assumption that
> wild cards are expanded differently - maybe it's something else?

You may want to look at Perl too.  Obviously, there's a difference between
the command line and the operations in Perl but you may not be chasing the
same problem by looking at the command line issue.

Off-hand, I don't recall a conscious change here.  The glob option has been
there "forever" so if you see a difference in 1.5.12 vs now, I'd say it's
fair to assume that the 1.5.12 behavior indicates a bug that has since been
fixed.

-- 
Larry Hall                              http://www.rfk.com
RFK Partners, Inc.                      (508) 893-9779 - RFK Office
216 Dalton Rd.                          (508) 893-9889 - FAX
Holliston, MA 01746

_____________________________________________________________________

A: Yes.
 > Q: Are you sure?
 >> A: Because it reverses the logical flow of conversation.
 >>> Q: Why is top posting annoying in email?

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



More information about the Cygwin mailing list