我正在使用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"
答案 0 :(得分:1)
您应该尝试…
HMM=$1
curl -H 'Accept:application/json' -F file=@"${HMM}" -F processing=hmm http://skylign.org
# ^
# |
# |
@
是必需的,因为它告诉curl
字段是文件上传。