我尝试在 Azure DevOps Pipeline 中使用curl 命令调用 api 并收到以下错误
/azp/_work/_temp/xxxxxx-xx-xxxxxx-xxxx-xxxxxxxxxxxxxx.sh:第 4 行:查找匹配的“”时出现意外的 EOF /azp/_work/_temp/xxxxxx-xx-xxxxxx-xxxx-xxxxxxxxxxxxxxx.sh:第 5 行:语法错误:意外的文件结尾 ##[错误]Bash 退出,代码为“2”。
这是我尝试调用 CURL 命令的步骤
步骤:
- script: |
echo "Sending POST Request...""
curl -X POST "URL" \\
\-H "Content-Type: application/json" \
\-H "Authorization: Bearer PATTOKEN"
displayName: 'Send POST request using CURL'
我需要从 Azure DevOps Pipeline 调用 api。请帮我解决问题
- script: |
echo "Sending POST Request..."
curl -X POST "URL" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer PATTOKEN"
displayName: 'Send POST request using CURL'
上面是你的脚本应该是什么样子,你只需要一个反冲来指示行尾的继续,而不是两个
您的任务缩进不正确,并且您的命令似乎格式不正确。
尝试以下操作:
- script: |
echo "Sending POST Request..."
curl -X POST "URL" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer PATTOKEN"
displayName: 'Send POST request using CURL'
您可以使代码更简洁,并对 YAML 多行字符串使用不同的语法来消除反斜杠
\
。
使用 folded 样式(由直角括号
>
表示)而不是 literal 样式(由竖线 |
表示):
- script: >
echo "Sending POST Request..."
curl -X POST "URL"
-H "Content-Type: application/json"
-H "Authorization: Bearer PATTOKEN"
displayName: 'Send POST request using CURL'
请注意,根据您使用折叠样式还是文字样式,换行符的处理方式有所不同。请参阅如何在 YAML 中将字符串拆分为多行?以及上面的链接以了解更多详细信息。