Я пытаюсь выполнить следующий скрипт в 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, дай мне точный выход, который я хочу, но не беги внутри скрипта, только снаружи.
Я немного новичок в завитке, любая помощь может быть полезной.
Извините за плохой английский и ткс заранее.