在shell脚本循环中创建curl删除请求

rekjcdws  于 4个月前  发布在  Shell
关注(0)|答案(1)|浏览(83)

我遇到了以下问题。在第一个curl查询中分配给list_json变量,我得到了一个json格式的对象列表。然后,根据从这个列表中提取的id,我想删除我检索到的所有元素。不幸的是,我的脚本只对最后一个元素有效,因此我必须重复n次才能清空整个列表。
为什么会发生这种情况,错误发生在哪里?我将补充一点,使用echo而不是curl ...的相同循环正确地显示了所有带有id的url,这与使用postman的预期一样。这意味着id是可用的,那么为什么它们没有被删除?
我的剧本:

#!/usr/bin/env bash

API_PATH="http://local:8080/api/elements"

list_json=$(curl -s $API_PATH)

for element_id in $(echo ${list_json[@]} | jq -r '.[].id')
do
curl -X DELETE ${API_PATH}${element_id}
done

字符串
任何提示欢迎。问候

6psbrbz9

6psbrbz91#

对于初学者来说,我:我发现在脚本的末尾使用set -x查看所有调用的命令有一个问题。在id的末尾添加了/rthis answer帮助了。

相关问题