Выполнение завихрения cmd от Win7 не работает, но на Linux это делает

Как заголовок говорит. Я отправляю простое завихрение cmd от Win7 до CouchDB на моем поле Linux, и это не работает. Но если я выполняю ту же команду в Linux, она работает. Я отправляю это:

curl -X POST 192.168.2.5:5984/test/testdoc -d '{"owner":{"fname":"test","lname":"ing"}}'

Из окон это продолжает давать мне "ошибку: плохой запрос, reason:invalid UTF-8 JSON". Я могу работать, ПОЛУЧАЮТ команды от окон очень хорошо, я просто не могу казаться POST к CouchDB.

9
задан jkidv 6 May 2010 в 19:26
поделиться

1 ответ

К сожалению, оболочка Windows (cmd.exe) использует кавычки иначе, чем Mac OSX и Linux.

Самое простое решение - избегать одинарных кавычек и использовать двойные кавычки, при этом двойные кавычки в документе JSON должны быть экранированы:

curl -X PUT 192.168.2.5:5984/test/testdoc -d "{\"owner\":{\"fname\":\"test\",\"lname\":\"ing\"}}"
{"ok":true,"id":"testdoc","rev":"1-299729b3cb92a371136cb7331c66644d"}

Другой вариант - установить другую оболочку, например Bash для Windows: http://win-bash.sourceforge.net/. Тогда вы сможете легче следить за документацией и проводить собственные эксперименты.

15
ответ дан 4 December 2019 в 13:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: