在CURL中使用变量

时间:2019-05-21 09:44:39

标签: bash shell curl

我正在使用curl将文件提交给Skyling,然后获取网站提供的输出(其后:http://skylign.org/help#api_docs)。

我想使用变量文件输入,而不是每次都直接在代码上写文件。

当我直接将文件(hmmfile.hmm)写入代码时,输​​出就是预期的结果。但是,当我设置一个变量(HMM)并将该变量用作我的文件时,putput为空白。

这有效:

curl -H 'Accept:application/json' -F file='@hmmfile.hmm' -F processing=hmm http://skylign.org

这不是:

HMM=$1

curl -H 'Accept:application/json' -F file="${HMM}" -F processing=hmm http://skylign.org

输出应该是这样的:

"url":"http://skylign.org:8000/logo/6BBFEB96-E7E0-11E2-A243-DF86A4A34227",
  "uuid":"6BBFEB96-E7E0-11E2-A243-DF86A4A34227",
  "message":"Logo generated successfully"

1 个答案:

答案 0 :(得分:1)

您应该尝试…

HMM=$1

curl -H 'Accept:application/json' -F file=@"${HMM}" -F processing=hmm http://skylign.org
#                                         ^
#                                         |
#                                         |

@是必需的,因为它告诉curl字段是文件上传。