bash - while - man curl



Requête de curling de script Bash avec une torsion (1)

Sortez le test de fin de l' for tête, et testez-le dans la boucle. Vous pouvez ensuite utiliser break pour terminer la boucle.

for ((i=1; ; i++)); do
    contents=$(curl -H "Authorization: Token insertlongtokenhere" -H "Content-Type: application/json" https://api.app.secunia.com/api/tickets/?page=$i)
    echo "$contents"
    if [[ $contents =~ 'next":null' ]]
    then break
    fi
done

Je tente d'extraire des données à partir d'une API à l'aide de curl et j'ai effectué la majorité du script, mais j'ai besoin d'aide. L'API a des résultats dans plusieurs pages que j'ai besoin de récupérer, et j'ai été capable d'écrire cette fonction, mais je n'arrive pas à comprendre comment arrêter la boucle. En outre, j'ai besoin d'aide pour trouver comment briser les données de chaque page en événements individuels. Chaque événement commence par la même chaîne, donc je connais le texte à utiliser pour décomposer les événements, mais je ne connais pas la syntaxe pour le faire. Quelqu'un peut-il aider avec cela aussi? Mon code est ci-dessous:

#!/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

En utilisant cette méthode de chaîne me donne un

./secunia.sh: line 3: ((: until next\":null: syntax error: invalid arithmetic operator (error token is "\":null")

J'ai essayé d'autres façons de commenter les doubles citations en vain, alors je suis coincé.





curl