欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-04-30 21:10:07
...
#!/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
相关标签: 文件上传和下载