我尝试使用curl从API中提取数据,并完成大部分脚本,但需要一些帮助。 API导致我需要检索多个页面,并且我已经能够编写该功能的脚本,但我无法弄清楚如何使循环停止。此外,我需要一些帮助来确定如何将每个页面数据分解为单个事件。每个事件都以相同的字符串开头,因此我知道要使用的文本以分解事件,但我不知道这样做的语法。有人可以协助吗?我的代码如下:
#!/bin/sh
string='next\":null'
for ((i=1;until $string;i++)); do
curl -H "Authorization: Token insertlongtokenhere" -H "Content-Type: application/json" https://api.app.secunia.com/api/tickets/?page=$i
done
使用这个字符串方法给我一个
./secunia.sh: line 3: ((: until next\":null: syntax error: invalid arithmetic operator (error token is "\":null")
我已尝试过其他评论双引号的方法无济于事,所以我有点卡住了。
答案 0 :(得分:1)
从['id':'1', 'action':'test1', 'format':null, 'controller':'test']
['id':'2', 'action':'test1', 'format':null, 'controller':'test'] ----
['action':'test2', 'format':null, 'controller':'test']
['action':'test2', 'format':null, 'controller':'test']
['fieldId':'5', 'action':'test2', 'format':null, 'controller':'test']
['fieldId':'6', 'action':'test2', 'format':null, 'controller':'test']
标题中取出结束测试,并在循环内测试它。然后,您可以使用for
结束循环。
break