0 Pluspunkte 0 Minuspunkte

Ich möchte ein Script schreiben worin ich REST API Abfragen automatisieren kann. Dabei habe ich eine Basis URL und die wird dann jeweils mit einem Pfad aus einer Liste verknüpft. Wie kann ich das in Linux machen?

var basisurl = "https://server/api/";
var paths = ["definitions/network/network", "definitions/network/host"];

for(path in paths) {
    //call api
}
von  

2 Antworten

0 Pluspunkte 0 Minuspunkte

Hier ist ein Beispiel Script in Bash.

#!/bin/bash

BASISURL="https://server/api/"
PATHS=("definitions/network/network" "definitions/network/host")

for PATH in "${PATHS[@]}"; do
    FULL_URL="${BASISURL}${PATH}"
    echo "Rufe API auf: $FULL_URL"
done
von (728 Punkte)  
Dabei wird ein Fehler ausgegeben:

rest.script: 7: Syntax error: "(" unexpected
Du verwendest offenbar sh, ruf das Script mit

bash rest.script

auf.
0 Pluspunkte 0 Minuspunkte

Hier ist ein Shell Script als Vorlage. Die Pfade (PATHS) sind durch Zeilenumbrüche getrennt.

#!/bin/sh
BASISURL="https://server/api/"
PATHS="definitions/network/network
definitions/network/host"

echo "$PATHS" | while read PATH; do

    URL="${BASISURL}${PATH}"
    echo "Found URL: $URL"

    RESPONSE=$(curl -s -X GET "$FULL_URL" -H "Accept: application/json")

    echo "Antwort von API:"
    echo "$RESPONSE"
    echo "------------------------"

done
von (944 Punkte)