curl通过ssh给出了错误的结果

Curl在节点本身上工作正常:

[ec2-user@smokebase1 ~]$ curl -s -I --retry 3 --header 'Host: smoke-base.dev-test.com' localhost:8080/test/api/search?where=where%20%2Fxml%2Fitem%2Fcategory%20is%20not%20%27dog%25%27 | grep "HTTP/1.1 200 OK" | wc -l 1 [ec2-user@smokebase1 ~]$ exit logout Connection to 10.4.11.14 closed. 

但是并没有给ssh命令正确的结果

 [vsha@ip-10-4-11-25 ~]$ ssh [email protected] 'curl -s -I --retry 3 --header 'Host: smoke-base.dev-test.com' localhost:8080/test/search?where=where%20%2Fxml%2Fitem%2Fcategory%20is%20not%20%27dog%25%27 | grep "HTTP/1.1 200 OK" | wc -l' 0 

你的问题几乎肯定会引用。 通过试图把你的整个ssh命令行放在你的curl命令行中,它们将会和curl命令中已经存在的命令行匹配,并产生意想不到的结果。

你可以尝试改变curl命令中的' for " ,然后将整个ssh命令包装在'