I'm pretty sure the problem doesn't lie with cmd.exe, since I'm
spawning the bash thread using the win32 CreateProcess function (the
cmd.exe part was just the simplest example I could think of that
reproduced the problem).

I'm already putting as much as possible in a bash script (I'm
currently in escaping hell...), but that's not really an option since
I don't get to choose what input I'm receiving. I guess I could write
to a temporary .sh file and then feed bash that file, but it's not
what I would call ideal.

Thanks,
Ives

On Thu, Jul 29, 2010 at 11:20 PM, Eric Blake <ebl...@redhat.com> wrote:
> On 07/29/2010 03:13 PM, Ives van der Flaas wrote:
>> After a good few hours of searching, I've distilled this down as far
>> as humanly possible. The problem I'm encountering is that if I tell
>> bash.exe to execute the commands in parameter (using the -c flag),
>> escaping varies based on what commands I give bash.
>> A more detailed example:
>>
>> 1 C:\cygwin\bin>bash.exe -x -v -c "C:\\s \\"
>
> There's your problem - you are expecting sane quoting rules from cmd.
> The quoting rules for cmd are vastly different from the quoting rules
> for bash itself.
>
> Also, remember that cmd does not do globbing before invoking a command,
> but neither do cygwin apps do it on entry (they expect the shell to have
> already done it).  Therefore, when a cygwin app detects that it was
> invoked by a non-cygwin app, cygwin must do the globbing before main();
> and yes, the rules for what cygwin1.dll will try to glob depend heavily
> on how much the command line argument passed by cmd looks like it might
> need globbing.
>
> You may be better off writing a shell script with the command you really
> want to run, and just calling 'bash path/to/script' than trying to call
> 'bash -c "complicated command"' from cmd.
>
> --
> Eric Blake   ebl...@redhat.com    +1-801-349-2682
> Libvirt virtualization library http://libvirt.org
>
>



-- 
Ives van der Flaas
Wijntuinstraat 10
2330 Merksplas
☎ 0499/31.54.37
www.GoodSoft.be

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply via email to