Forum Programmation.shell probleme script bash avec curl et jq

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
14
juil.
2026

Bonjour.
J'ai un souci avec mon script pour récupérer des datas de mon onduleur photovoltaïque:

> status=`curl --location --request GET 'https://openapi-eu.solaxcloud.com/openapi/v2/device/realtime_data?snList=XBXXXXXX015008&deviceType=1&businessType=1' \
--header 'Authorization: bearer secrettoken' \
--header 'Content-Type: application/json' \
 | jq '.result[0].acCurrent1' |tr -d \"`
echo "acCurrent1= " "${status}"

Ça fonctionne.Le résultat est stocké dans acCurrent1.
Mais je voudrais récupérer plusieurs variables en même temps afin de ne pas multiplier les requêtes curl
J'ai passé pas mal de temps à chercher, sans succès.
Un peu d'aide?

Merci d'avance

  • # Filtrer à posteriori

    Posté par  . Évalué à 2 (+1/-0). Dernière modification le 14 juillet 2026 à 15:48.

    Il faut récupérer toutes les données lors du curl et filtrer avec jq ensuite :

    D'abord le curl :

    status=`curl --location --request GET 'https://openapi-eu.solaxcloud.com/openapi/v2/device/realtime_data?snList=XBXXXXXX015008&deviceType=1&businessType=1' \
        --header 'Authorization: bearer secrettoken' \
        --header 'Content-Type: application/json'`

    Puis :

    acCurrent1=`echo "$status" | jq '.result[0].acCurrent1' |tr -d \"`
    acCurrent2=`echo "$status" | jq '.result[0].acCurrent2' |tr -d \"`
    echo "acCurrent1= $acCurrent1"
    echo "acCurrent2= $acCurrent2"

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.