неправильный запрос curl 400 (в скрипте bash) - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь выполнить следующий скрипт в bash

#!/bin/bash
source chaves.sh
HEAD='"X-Cachet-Token:'$CACHET_KEY'"'
SEARCH="'{"'"status"'":1,"'"id"'":"'"7"'","'"enabled"'":true}'"
echo $SEARCH

if curl -s --head  --request GET http://google.com.br | grep "200 OK" > /dev/null; then 
   echo 'rodou'
   curl -X PUT -H '"Content-Type:application/json;"' -H '"'X-Cachet-Token:$CACHET_KEY'"' -d $SEARCH $CACHET_URL/7

else
  echo 'não deu'
  curl -X PUT -H '"Content-Type: application/json;"' -H $x -d '{"status":1,"id":"7","enabled":true}' $CACHET_URL/7
fi

Но продолжаю получать 400 неверных запросов от сервера.

Когда я пытаюсь запустить ту же строку (эхо вскрипт, Ctrl + c и Ctrl + v) прямо в терминале, команда запускается без проблем.

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

  • редактировать 1 - скрыть некоторый конфиденциальный контент

    редактировать 2 - опубликовать выходную строку (схваченная проблема Ctrl + c, Ctrl + v)

Команда, которую необходимо ввести на сервере:

curl -X PUT -H "Content-Type: application / json;"-H "X-Cachet-Token: 4A7ixgkU4hcCWFReQ15G" -d '{"status": 1, "id": "7", "enabled": true}' http://XXX.XXX.XXX.XXX/api/v1/components/7

ивыход Я схватился за команду echo echo, дай мне точный выход, который я хочу, но не беги внутри скрипта, только снаружи.

Я немного новичок в завитке, любая помощь может быть полезной.

Извините за плохой английский и ткс заранее.

...