Michael Enright
Fri Feb 10 21:54:00 GMT 2017

On Fri, Feb 10, 2017 at 1:46 PM, Gluszczak, Glenn wrote:
> I suppose the glob explanation from Michael explains this behavior in sh.
> Though unsupported, it seems to work (probably some side cases do not).

It seems to me that the behavior is supported and working. Bash or sh
takes an unescaped argument /usr/bin/* and expands it to a list of
names, which it provides as an array of arguments to the called
program, cygpath in this case. Then cygpath converts each and outputs
each result. If the user escapes the argument in someway, the asterisk
survives and is treated as a Unix file name character. If there is no
glob expansion, in the case of the unescaped argument
/usr/nonexistent/* for example, Bash only passes one argument, and the
asterisk in that is treated as a filename character.

I think when the output to your terminal is weird, it is because of
locale settings or code pages that either hide or garble the output of
the unicode character. When the output is piped to od as Andre does,
the output is clearly the UTF8 byte sequence for U+F02A.

Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list