有没有一种方法可以防止cURL命令解释macOS Catalina中的分号?

时间:2019-10-16 19:23:50

标签: shell macos-catalina

运行cURL命令以上传文件内容(通过填写表单),例如以下curl -L -X POST -F 'edit=filename' http://website.local/example -F 'filecontent=test;2;3'可以在High Sierra上使用,但不能在Catalina上使用

Catalina一直停留在分号;处,并忽略其余部分,因为它正在解释分号并输出:

Warning: skip unknown form field: 2 Warning: skip unknown form field: 3

我尝试了各种不同的操作,例如转义\;并单引号,但仍然没有成功,还尝试了更改为bash或除zsh之外的其他shell。

下面的示例curl -F 'colors="red; green; blue";type=text/x-myapp' example.com起作用了,我现在正试图从文件中读取内容。适用于High Sierra的代码为-F "filecontent=$(<Example.txt)"

我正在上传的文件包含分号,并且它将文本一直上传到第一个分号

High Sierra中的7.54.0卷
在Catalina中卷曲7.64.1

1 个答案:

答案 0 :(得分:1)

--form更改为--form-string,以防止解析;key=value(用于;type=text/x-myapp分配)。


因此,您可以从以下位置更改相关行:

curl "${other_args[@]}" -F "filecontent=$(<file)"

收件人:

curl "${other_args[@]}" --form-string "filecontent=$(<file)"