Bash 在CURL中使用变量
我使用curl向Skyling提交一个文件,然后获得站点提供的输出,如下所示: 我希望使用变量文件输入,而不是每次直接在代码上写入文件 当我将文件hmmfile.hmm直接写入代码时,输出就是预期的输出。但是当我设置一个变量HMM并将该变量用作我的文件时,putput是空的 这项工作:Bash 在CURL中使用变量,bash,shell,curl,Bash,Shell,Curl,我使用curl向Skyling提交一个文件,然后获得站点提供的输出,如下所示: 我希望使用变量文件输入,而不是每次直接在代码上写入文件 当我将文件hmmfile.hmm直接写入代码时,输出就是预期的输出。但是当我设置一个变量HMM并将该变量用作我的文件时,putput是空的 这项工作: curl -H 'Accept:application/json' -F file='@hmmfile.hmm' -F processing=hmm http://skylign.org 这并不是: HMM=$
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"
你应该试试
HMM=$1
curl -H 'Accept:application/json' -F file=@"${HMM}" -F processing=hmm http://skylign.org
# ^
# |
# |
@是必需的,因为它告诉curl该字段是一个文件上载。如果$1在开始时没有@,它将不起作用,您必须在文件名前面加上@符号