卷曲400错误的请求(在bash脚本中)

时间:2018-11-21 12:06:40

标签: bash curl http-status-code-400 bad-request

我试图在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个错误请求。

当我尝试直接在终端中运行同一行(脚本中的echo,Ctrl + c和Ctrl + v)时,命令运行没有问题。

源文件具有指向路径的指示和我需要使用的可变令牌,但据我测试,可以正常读取。

  • 编辑1-隐藏一些敏感内容

    编辑2-发布退出行(抓紧Ctrl + c,Ctrl + v)

我需要在服务器中输入的命令是:

  

curl -X PUT -H“ Content-Type:application / json;” -H   “ X缓存令牌:4A7ixgkU4hcCWFReQ15G” -d   '{“状态”:1,“ id”:“ 7”,“已启用”:true}'   http://XXX.XXX.XXX.XXX/api/v1/components/7

然后我抓住了退出的出口回声命令,给我我想要的确切退出,但是不要在脚本内运行,而只能在外部运行。

我对卷发有点陌生,任何帮助都可以帮助您。

对不起,英语和tks不好。

0 个答案:

没有答案