shell curl 数据中含有空格 如何提交

来源:互联网 发布:软件集成测试 编辑:程序博客网 时间:2024/06/02 06:24

shell脚本中数据中含有空格,赋给变量后去引用,提交失败

#!/bin/bash
sparkjsonstring='{"name":"store-rtpp","sources":[{"name":"xyb","type":"static","as.table":"xyb","text":"{\"DPC\": \"A.0012.0001.P001\", \"SOD\": \"A.0012.0001.S001\",\"CTS\":\"A.0001.0032.R001\"}"},{"name":"sod2","type":"kafka","as.table":"sod2","group.id":"lf8","topics":"qxj-xyb"}],"sinks":[{"name":"xyb_view","type":"view"},{"name":"xybSink2","type":"es","indexAndType":"store/dic"},{"name":"kairosdb","type":"kairosdb"}],"processes":[{"name":"p1","desc":"","source":["jmb"],"sql":"select concat(C_OP_CTS_Z_A_102,C_OP_CTS_Z_A_101,C_OP_CTS_Z_A_103) as id,C_OP_CTS_Z_A_102,C_OP_CTS_Z_A_107, count(distinct C_OP_CTS_Z_A_104) as yss,count(distinct C_OP_CTS_Z_A_104) as yrks from jmb where C_OP_CTS_Z_A_107=0 group by C_OP_CTS_Z_A_102,C_OP_CTS_Z_A_101,C_OP_CTS_Z_A_103,C_OP_CTS_Z_A_107 ","sink":["jmbSink2","jmb_yss","console"]}]}'
echo $sparkjsonstring

curl -H "Content-Type: application/json" -X POST -d $sparkjsonstring http://10.1.240.88:8080/spark/upload


后直接将含有空格的数据加入curl命令中,提交成功

#!/bin/bash

# sparkjsonstring='{"name":"store-rtpp","sources":[{"name":"xyb","type":"static","as.table":"xyb","text":"{\"DPC\": \"A.0012.0001.P001\", \"SOD\": \"A.0012.0001.S001\",\"CTS\":\"A.0001.0032.R001\"}"},{"name":"sod2","type":"kafka","as.table":"sod2","group.id":"lf8","topics":"qxj-xyb"}],"sinks":[{"name":"xyb_view","type":"view"},{"name":"xybSink2","type":"es","indexAndType":"store/dic"},{"name":"kairosdb","type":"kairosdb"}],"processes":[{"name":"p1","desc":"","source":["jmb"],"sql":"select concat(C_OP_CTS_Z_A_102,C_OP_CTS_Z_A_101,C_OP_CTS_Z_A_103) as id,C_OP_CTS_Z_A_102,C_OP_CTS_Z_A_107, count(distinct C_OP_CTS_Z_A_104) as yss,count(distinct C_OP_CTS_Z_A_104) as yrks from jmb where C_OP_CTS_Z_A_107=0 group by C_OP_CTS_Z_A_102,C_OP_CTS_Z_A_101,C_OP_CTS_Z_A_103,C_OP_CTS_Z_A_107 ","sink":["jmbSink2","jmb_yss","console"]}]}'
# echo $sparkjsonstring

# curl -H "Content-Type: application/json" -X POST -d $sparkjsonstring http://10.1.240.88:8080/spark/upload


curl -H "Content-Type: application/json" -X POST -d '{"name":"store-rtpp","sources":[{"name":"xyb","type":"static","as.table":"xyb","text":"{\"DPC\": \"A.0012.0001.P001\", \"SOD\": \"A.0012.0001.S001\",\"CTS\":\"A.0001.0032.R001\"}"},{"name":"sod2","type":"kafka","as.table":"sod2","group.id":"lf8","topics":"qxj-xyb"}],"sinks":[{"name":"xyb_view","type":"view"},{"name":"xybSink2","type":"es","indexAndType":"store/dic"},{"name":"kairosdb","type":"kairosdb"}],"processes":[{"name":"p1","desc":"","source":["jmb"],"sql":"select concat(C_OP_CTS_Z_A_102,C_OP_CTS_Z_A_101,C_OP_CTS_Z_A_103) as id,C_OP_CTS_Z_A_102,C_OP_CTS_Z_A_107, count(distinct C_OP_CTS_Z_A_104) as yss,count(distinct C_OP_CTS_Z_A_104) as yrks from jmb where C_OP_CTS_Z_A_107=0 group by C_OP_CTS_Z_A_102,C_OP_CTS_Z_A_101,C_OP_CTS_Z_A_103,C_OP_CTS_Z_A_107 ","sink":["jmbSink2","jmb_yss","console"]}]}' http://10.1.240.88:8080/spark/upload
# 调用spark/upload controller方法,注意修改IP
0 0