Я пытаюсь отправить запрос на сервер, содержащий командную строку, которую я хочу запустить на сервере (я знаю, что это выглядит очень небезопасно, но я упустил много сложностей, чтобы упростить мой пример ):
JOB_ID=$(curl -F 'field1={"command":"bash","commandArgs":["-c", "echo 1 ; echo 2"],"priority":7,"outputPath":"example.out","errorPath":"example.err","commandEnvironment":{}}' ${JSR_HOST}/jobs | jq -r '.jobId')
Однако, когда я запускаю эту команду, я получаю следующую ошибку:
Warning: skip unknown form field: echo
Warning: 2"],"priority":7,"outputPath":"example.out","errorPath":"example.err",
Warning: "commandEnvironment":{}}
Если я изменю свою команду на следующую, она будет работать (это было бы непрактично сделайте это в моем реальном случае, так как мне нужно выполнить одну команду для успешного выполнения второй команды):
JOB_ID=$(curl -F 'field1={"command":"bash","commandArgs":["-c", "echo 1 "],"priority":7,"outputPath":"example.out","errorPath":"example.err","commandEnvironment":{}}' ${JSR_HOST}/jobs | jq -r '.jobId')
Однако такое поведение заставляет меня поверить, что curl интерпретирует ';' как особый характер, и я думаю, именно поэтому он терпит неудачу. Что мне нужно сделать, чтобы правильно избежать этого?