bash - curl 400 错误请求(在 bash 脚本中)
问题描述
我试图在 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“内容类型:应用程序/json;” -H "X-Cachet-Token:4A7ixgkU4hcCWFReQ15G" -d '{"status":1,"id":"7","enabled":true}' http://XXX.XXX.XXX.XXX/api/ v1/组件/7
我抓住的出口是回声命令,给我我想要的确切出口,但不要在脚本内部运行,只能在外部运行。
我对卷曲有点陌生,任何帮助都可以理解。
抱歉,英语不好,请提前 tks。
解决方案
推荐阅读
- javascript - 以编程方式选择浏览器中未更新的选项
- python - 为向量创建索引时,“列表”对象不可调用
- java - SpringBoot:如何使用 Wrapper Class 将两个 JSON pojo 绑定到两个单独的对象中并将它们保存到我的数据库中?
- amazon-web-services - 使用clojure调用aws lambda函数的空指针异常?
- typescript - Typescript中带有参数的动态键
- javascript - 在页面上以表格格式显示存储在 SharePoint 列表中的数据,并在页面上的表格列上放置过滤器以过滤数据
- python - Django3 - 使用上下文处理器填充导航栏项目 SQlite DB 数据的问题
- python - 每次在 tkinter 中将文本插入文本框时,如何添加间距?
- google-custom-search - 使用 Google 自定义搜索 JSON 在多个站点中搜索
- powerbi - 在 UI 中显示的 DAX 过滤器列字符串值