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

Reply via email to