目录
需求背景:
示例:
解决方式:
需求背景:
用shell解析 curl命令GET到的消息体,获取body消息体里的某个字段的值,只是个简单的示例,可以在此基础上更改满足自己的需求
示例:
curl一个API
curl -X GET -s -H "Accept:application/json" -H "Content-Type:application/json" "http://127.0.0.1:8003/ra/sysinfo"
后返回body如下
解决方式:
#!/bin/sh
HTTP_API="http://127.0.0.1:8003/ra/sysinfo"
key_cpu_total="cpu_total"
key_cpu_percent="cpu_percent"
key_mem_total="mem_total"
key_mem_percent="mem_percent"
key_disk_total="disk_total"
key_disk_percent="disk_percent"
resp_body=$(curl -X GET -s -H "Accept:application/json" -H "Content-Type:application/json" $HTTP_API)
cpu_percent=$(echo $resp_body | sed 's/{//g'|sed 's/}//g'|awk -F"$key_cpu_percent" '{print $2}'|cut -d',' -f1|cut -d':' -f2)
mem_percent=$(echo $resp_body | sed 's/{//g'|sed 's/}//g'|awk -F"$key_mem_percent" '{print $2}'|cut -d',' -f1|cut -d':' -f2)
disk_percent=$(echo $resp_body | sed 's/{//g'|sed 's/}//g'|awk -F"$key_disk_percent" '{print $2}'|cut -d',' -f1|cut -d':' -f2)
echo "cpu_percent: $cpu_percent"
echo "mem_percent: $mem_percent"
echo "disk_percent: $disk_percent"
换成自己的api 和对应的key值即可,更复杂的解析,自己想办法