【发布时间】:2019-12-16 12:54:19
【问题描述】:
我没有成功尝试使用 curl POST 调用运行几个“for 循环”。
有多个实体 ID,每个 ID 都有不同的版本。 为了成功更改每个实体的状态,我必须将它们与它们的版本相匹配。鉴于我知道实体 ID 并且能够获得版本 ID 列表,因此执行两个“for 循环”似乎是我的“技能”集最平易近人的想法。
for i in {12345,12346}; do for j in $(seq 0 3); do curl -b cookies.txt https://mydomain(dot)com/${i} -d 'status=0&version=${j}';done done;
我收到“版本冲突”错误 - 这意味着 J 值没有被替换
如果我尝试
for i in {12345,12346}; do for j in $(seq 0 3); do echo curl -b cookies.txt "https://mydomain(dot)com/${i} -d 'status=0&version=${j}'";done done;
我收到以下响应,这意味着实体的状态没有实际更改
curl -b cookies.txt https://mydomain(dot)com/12345 -d 'status=0&version=0'
curl -b cookies.txt https://mydomain(dot)com/12345 -d 'status=0&version=1'
curl -b cookies.txt https://mydomain(dot)com/12345 -d 'status=0&version=2'
curl -b cookies.txt https://mydomain(dot)com/12345 -d 'status=0&version=3'
curl -b cookies.txt https://mydomain(dot)com/12346 -d 'status=0&version=0'
curl -b cookies.txt https://mydomain(dot)com/12346 -d 'status=0&version=1'
curl -b cookies.txt https://mydomain(dot)com/12346 -d 'status=0&version=2'
curl -b cookies.txt https://mydomain(dot)com/12346 -d 'status=0&version=3'
理想情况下,调用只会发出两个 POST,每个实体 ID 都有一个对应的版本。 但是,根据我创建的结构,我预计在 8 个 POST 中,有 6 个会因为“版本冲突”而失败,另外两个会成功,因为这两个实体的版本会在 j 列表中。
任何帮助/指针将不胜感激
【问题讨论】: