【发布时间】:2020-06-06 21:24:50
【问题描述】:
我想使用 CURL 命令将文件我的测试 Live.ipa 上传到服务器
如果我将文件(我的测试 Live.ipa)重命名为 MytestLive.ipa 没有任何空格它工作正常
curl --request POST -T "/Users/durai/Documents/Test/MytestLive.ipa" -v --url "https://testserver.com?requestid=1&token=hjasdfhkjasgnjyfsadg"
但是如果文件名中有一个空格,就像下面的脚本一样,那么我会得到下面的错误
curl --request POST -T "/Users/durai/Documents/Test/My test Live.ipa" -v --url "https://testserver.com?requestid=1&token=hjasdfhkjasgnjyfsadg"
curl:找不到命令
我尝试用反斜杠转义空格,如下所示,它会抛出相同的错误
curl --request POST -T "/Users/durai/Documents/Test/My\ test\ Live.ipa" -v --url "https://testserver.com?requestid=1&token=hjasdfhkjasgnjyfsadg"
我再次尝试了空间的 url 编码,但我看到了同样的错误。
curl --request POST -T "/Users/durai/Documents/Test/My%20test%20Live.ipa" -v --url "https://testserver.com?requestid=1&token=hjasdfhkjasgnjyfsadg"
感谢任何解决空间问题的帮助
附注: - 我在 azure devops CI/CD 管道中运行 bash 脚本。 - 我可以在上传之前重命名文件,但我打算保持名称不变。 - 我在本地 mac 终端中使用了文件名中带有空格的 CURL 命令,它工作得非常好,但是当我在 Azure Devops 中运行 bash 脚本时似乎出现了问题
curl --request POST -T "/Users/durai/Documents/Test/My test Live.ipa" -v --url "https://testserver.com?requestid=1&token=hjasdfhkjasgnjyfsadg"
【问题讨论】:
-
如果文件名中有空格,则必须用双引号将路径括起来。此外,您需要使用反斜杠转义双引号。
-
我在测试管道的 bash 任务中将一个名称以空格分隔的文件上传到服务器。它对我来说很好。您的代理规格是什么?
标签: curl azure-devops continuous-integration filenames spaces