Может ли кто-нибудь сказать мне, когда я запускаю только curl с помощью POST, некоторые данные json работают, но когда я пытаюсь добавить переменную в json и цикл for, bash возвращает invalid_json.

Я читал, что переменные bash не типизированы, поэтому почему я получил эту ошибку?

#!/bin/bash

    for var in 14456 14455 
    do
    curl -X POST -d '{"api_token": "test_api", "id": $var}' 'https://api_test.com/'
    done
-1
dend 20 Ноя 2018 в 14:10

1 ответ

Лучший ответ

Вам нужны двойные кавычки для интерполяции переменных в bash:

curl -X POST -d "{\"api_token\": \"test_api\", \"id\": $var}" 'https://api_test.com/'
2
georgexsh 20 Ноя 2018 в 11:16