Bash Скрипт: Ошибка при использовании переменной в данных curl - PullRequest
0 голосов
/ 05 августа 2020

Я работал над созданием скрипта, использующего завиток и переменные. Выполнив несколько поисков, я нашел, как поместить переменную в часть данных curl, но теперь я получаю ошибки от команды curl.

(Некоторые части кода удалены, чтобы пароли не использовались, все работает за исключением ввода данных в часть --data curl)

curlData=$(cat <<EOF
{
    "rebootClient": false,
    "createPseudoClientRequest": {
        "registerClient": true,
        "clientInfo": {
            "clientType": 0,
        }
    },
    "packages": [
        {
            "packageId": 702,
            "packageName": "File System",
            "packageId": 51,
            "packageName": "MediaAgent"
        }
    ],

    },
    "entities": [
        {
            "clientId": 0,

        }
    ]
}
EOF
)

shopt -u nocasematch #Sets options back to being case sensitive

echo "$csName"

curl -vv --location --request POST "http://$csName:81/SearchSvc/CVWebService.svc/InstallClient" --header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header "Authtoken: $token" \
 -d "$curlData"


Выполнение bash -x все выглядит правильно

    "rebootClient": false,
    "createPseudoClientRequest": {
        "registerClient": true,
        "clientInfo": {
            "clientType": 0,
        }
    },
    "packages": [
        {
            "packageId": 702,
            "packageName": "File System",
                        "packageId": 51,
                        "packageName": "MediaAgent"
        }
    ],
    "clientAuthForJob": {
    },
    "entities": [
        {
            "clientId": 0,
            "clientName": "srybrcost",
        }
    ]
}'

Но каждый раз, когда я получаю тело запроса, пусто или неверный формат

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...