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
# 调用spark/upload controller方法,注意修改IP