Windows cmd.exe与cmd输出
我正在Windows上运行Cygwin,偶尔需要从Bash调用cmd.exe 然而,我注意到,根据我如何称呼它,我会得到不同的结果Windows cmd.exe与cmd输出,windows,cmd,cygwin,Windows,Cmd,Cygwin,我正在Windows上运行Cygwin,偶尔需要从Bash调用cmd.exe 然而,我注意到,根据我如何称呼它,我会得到不同的结果 $ cmd.exe /c 'echo "http://asdf.com?a=1&b=2"' "http://asdf.com?a=1&b=2" $ cmd /c 'echo "http://asdf.com?a=1&b=2"' \"http://asdf.com?a=1&b=2\" 为什么会发生这种情况?我注意到,如果您这样称呼它
$ cmd.exe /c 'echo "http://asdf.com?a=1&b=2"'
"http://asdf.com?a=1&b=2"
$ cmd /c 'echo "http://asdf.com?a=1&b=2"'
\"http://asdf.com?a=1&b=2\"
为什么会发生这种情况?我注意到,如果您这样称呼它,它更接近cmd.exe输出。在引号内添加空格将更改输出
$ cmd /c echo 'http://asdf.com?a=1&b=2 '
"http://asdf.com?a=1&b=2 "
更多信息
one or more whitespace characters between the the two quote characters