bash - 码头工人执行卷曲帖子
问题描述
我想在 docker 镜像中运行 curl。它在 docker 容器中工作,如下所示:
curl -i -X POST -H 'Content-Type: application/json' -d '{"configuredLevel":"INFO"}' localhost:8091/mobile-svc/actuator/loggers/something
当我想从 docker 容器中的 bash 脚本运行它时,如下所示:
args="sh -c \"curl -i -X POST -H 'Content-Type: application/json' -d'{\"configuredLevel\":\"${LEVEL}\"}' localhost:${PORT}/mobile-svc/actuator/loggers/${PACKAGE}\""
echo $args
cmd="docker exec -it $CID $args"
eval $cmd
它说:
sh -c "curl -i -X POST -H 'Content-Type: application/json' -d '{"configuredLevel":"DEBUG"}'
localhost:8091/tcp/mobile-svc/actuator/loggers/something
HTTP/1.1 404
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Sat, 08 Aug 2020 12:49:58 GMT
{"timestamp":"2020-08-08T12:49:58.949+0000","status":404,"error":"Not Found","message":"No message available","path":"/tcp/mobile-svc/actuator/loggers/something"}
如何将复合参数传递给 curl?
谢谢扎梅克
解决方案
最后我找到了解决方案,但它有点难看:
cmd="docker exec -it $CID sh -c \"curl -i -X POST -H 'Content-Type: application/json' -d '{\\\"configuredLevel\\\":\\\"$LEVEL\\\"}' localhost:${PORT}/mobile-svc/actuator/loggers/something\""
推荐阅读
- ios - SWIFT 5 - TableView 将加载/等待指示器添加到 SelectRowAt 函数 - UITableViewDelegate
- amazon-web-services - Kinesis 消费者 getRecords 不会始终返回 10,000 条记录
- php - 更新到 5.5.1 后的 Wordpress URL 问题
- python - 为什么调用python装饰函数?
- javascript - Passport 无法读取未定义的属性“密码”
- android - Firebase 实时数据库不适用于特定网络
- ios - WidgetKit中带有CloudKit的CoreData不起作用
- python - 如何将参数列表传递给 subprocess.run?(python)
- local - Service Fabric:在本地调试时查看 Reliable Dictionary 的内容
- uigesturerecognizer - 检测 Apple TV Remote 边缘的触摸