Hello list, When I type a command in bash to invoke a Windows application (like cmd.exe, for example), I can't seem to find a pattern in the Windows command line that actually gets executed. Ordinary bash syntax does not seem to apply in general when the command is a Windows app, but rather, sometimes special characters are interpreted in a bash-like way, and sometimes not. So, I'm wondering what determines whether a quote mark or something gets interpreted or passed on.
Here are some examples: $ cmd /c echo "/?" Displays messages, or turns command-echoing on or off. ECHO [ON | OFF] ECHO [message] Type ECHO without parameters to display the current echo setting. # OK, so I'm getting the Windows echo, not the bash echo. Good. # Moving on... $ cmd /c echo abc abc $ cmd /c echo "abc" abc $ cmd /c echo "\"abc\"" "\"abc\"" # Wahhh?! Anyone who knows the explanation would make me very grateful. I've tried this with other Windows apps too, and the same weirdness seems to occur. On a related note, I've noticed what appears to be an automatic sort of half-bash invocation (but not quite?) or something when I run Cygwin commands from cmd.exe. For example, > c:\cygwin\bin\echo hi hi > c:\cygwin\bin\echo "hi" hi > c:\cygwin\bin\echo "\"hi\"" "hi" > c:\cygwin\bin\echo * myfile myotherfile yetanotherfile ... And yet... > c:\cygwin\bin\echo $PATH $PATH What the heck is going on? Are there any rules here at all? Sorry if I'm missing something dumb. And sorry for apologizing for it. And...... Thanks in advance, Jesse -- 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