Linux Bash/Shell获取MongoDB官网软件包下载链接

#!/bin/bash
# 获取 MongoDB 官网各平台软件下载地址:
# Require cURL command and jq command installed
# 可携带参数: $1 --- 目标版本号,$2 --- 目标平台名称 (二者均可省略,默认获取最新版本Windows下载链接)

jsonData=$(curl -sS 'https://www.mongodb.com/try/download/community'|pquery script -p text|grep -i '.msi'|sed -r 's/^.*?window\.__serverData=//')

#latestedVersion=$(echo "$jsonData"|jq -r '.components[1].props.data[0].products[1].data'|awk 'NR==2{gsub(/"| /,"");gsub(/:.*$/,"");print;exit}')
latestedVersion=$(echo "$jsonData"|jq -r '.components[1].props.data[0].products[1].data|keys|reverse[0]')

echo "最新版本:$latestedVersion"

targetPlatform="Windows"
targetVersion="$latestedVersion"

if [ $# -ge 1 ]
then
	if [ ! -z "$1" ]
	then
		targetVersion="$1"
		shift
	fi
	[ ! -z "$1" ] && targetPlatform="$1"
fi
echo "------------------------------------------------------"

echo "可用平台:"
echo "$jsonData"|jq -r '.components[1].props.data[0].products[1].data."'"${targetVersion}"'".platforms|keys'

echo "------------------------------------------------------"

echo "Version $targetVersion For \"$targetPlatform\""
echo "$jsonData"|jq -r '.components[1].props.data[0].products[1].data."'"${targetVersion}"'".platforms."'"${targetPlatform}"'"'


echo "------------------------------------------------------"
# 自用附加:Version 4.4.6 For Windows
echo "Version 4.4.6 For Windows"
echo "$jsonData"|jq -r '.components[1].props.data[0].products[1].data."4.4.6".platforms.Windows'

posted @ 2021-07-10 16:19  晴云孤魂  阅读(97)  评论(0编辑  收藏  举报