Mail Archives: cygwin/2010/07/29/17:42:45
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 <eblake AT redhat DOT 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). =C2=A0Therefore, 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 =C2=A0 eblake AT redhat DOT com =C2=A0 =C2=A0+1-801-349-2682
> Libvirt virtualization library http://libvirt.org
>
>
--=20
Ives van der Flaas
Wijntuinstraat 10
2330 Merksplas
=E2=98=8E 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
- Raw text -