【问题标题】:curl command is failing if space found in file name如果在文件名中找到空格,curl 命令将失败
【发布时间】: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


【解决方案1】:

Azure 可能正在解释命令并且丢失了引号和反斜杠。您可以尝试双倍或三倍反斜杠或以下行之一:

\"/Users/durai/Documents/Test/My test Live.ipa\"  
\\"/Users/durai/Documents/Test/My test Live.ipa\\"  
\\\"/Users/durai/Documents/Test/My test Live.ipa\\\"  
\""/Users/durai/Documents/Test/My test Live.ipa\""  
\\""/Users/durai/Documents/Test/My test Live.ipa\\""  
\\\""/Users/durai/Documents/Test/My test Live.ipa\\\""  
"/Users/durai/Documents/Test/My\\ test\\ Live.ipa"  
"/Users/durai/Documents/Test/My\\\ test\\\ Live.ipa"  

请确认其中任何一个是否有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-13
    相关资源
    最近更新 更多