我正在尝试从 Unix Shell 脚本读取 JSON 文件(与 位于同一目录内product.json
)并使用 发送它curl
。
curlProduct.sh
:
for file in ~/work/project/json/product.json
do
echo "$file"
curl -X POST --data @"$file" 'http://localhost:8080/api/v1/purchaseProduct' \
--header 'Content-Type:application/json' \
--header 'Authorization: Bearer f682e27f-daf6-234r-3456-623b9fe65bds'
echo "After HTTP POST"
done
当我使用以下命令运行此命令时:
sh curlProduct.sh
它所做的唯一事情是打印完全限定的文件路径(连同名称)似乎挂在这一行,迫使我每次都echo "$file"
发出取消命令:control-c
/Users/pnwlover/work/project/json/product.json
我可能做错了什么?
答案1
通过重新排列参数让它像这样工作curl
,如下所示:
curl -X POST -H 'Content-Type:application/json' -H 'Authorization: Bearer 20fa6074-4478-47d3-ds6c-b87be44bd74c' \
--data @"$file" 'http://localhost:8080/api/v1/purchaseProduct';