2016-02-05 52 views
0

我正在使用installr API。 我想通过脚本来完成以下卷曲要求:将参数卷曲调用变量不起作用

curl -H "X-InstallrAppToken: mytoken" https://www.installrapp.com/apps.json/ \ 
    -F '[email protected]'$APKPATH \ 
    -F 'releaseNotes=These are my release notes' \ 
    -F 'notify=true' 

和它完美的作品。 然而,当我试图从一个文件中获取我的发行说明,像这样的变量:

RELEASENOTES=`cat "release_notes/test.md"` 
curl -H "X-InstallrAppToken: mytoken" https://www.installrapp.com/apps.json/ \ 
    -F '[email protected]'$APKPATH \ 
    -F 'releaseNotes='$RELEASENOTES \ 
    -F 'notify=true' > /dev/null 

不会在所有的工作中,只有第一个单词发送。对于其他人,我有错误无法解析主机:xxx。

我在这两个curl请求上做了一个echo,并打印完全相同的东西。 是那个返回特定格式的cat命令?

回答

1

可能是引号和空格的问题。您可以在变量周围使用双引号以允许在shell中进行可变扩展。

RELEASENOTES=$(cat "release_notes/test.md") 
curl -H "X-InstallrAppToken: mytoken" https://www.installrapp.com/apps.json/ \ 
    -F "[email protected]${APKPATH}" \ 
    -F "releaseNotes=${RELEASENOTES}" \ 
    -F 'notify=true' > /dev/null