系统相关
首页 > 系统相关> > shell脚本调用接口获取返回值 遍历下载文件

shell脚本调用接口获取返回值 遍历下载文件

作者:互联网

#!/bin/bash
#获取当前服务器的名称
HN=`hostname`
#截取当前模型名称
name= echo ${HN%-*}
#name=ceshi_lcx
#echo $name
#当前模型下可用数据下载地址
url="http://ip:30388/aFile?name=$name"
#returnData=$(curl -X GET $url -H "accept:*/*" | jq '.[] | {path:.path}')
#请求接口返回完整数据
returnData=$(curl -X GET $url -H "accept:*/*" | jq '. ')
#echo $returnData
#获取json数组长度
length=$( echo $returnData | jq '. | length')
#length=$(curl -X GET $url -H "accept:*/*" | jq '. | length')
int=0
mkdir data_download
#遍历数组 下载数据文件
while(($int<$length))
do
	echo $int
    #取出第int个数据 的path 属性
	data=$( echo $returnData | jq --argjson int $int  '.[$int] | .path')
	echo $data
    #去掉双引号 空格 换行
    rety=$(echo $data | sed 's/ //g' | sed 's/\"//g' | sed 's/\n//g')
    #echo $rety
    #取出第int个数据 的name 属性
	Name=$( echo $returnData | jq --argjson int $int  '.[$int] | .name')
    fileName=$(echo $Name | sed 's/ //g' | sed 's/\"//g' | sed 's/\n//g')
	echo $fileName
	curl -o data_download/$fileName "${rety}"
	let "int++"
done

标签:遍历,name,returnData,jq,echo,url,length,shell,返回值
来源: https://blog.csdn.net/licux/article/details/117851936