本篇内容主要讲解“如何使用curl递归下载软件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用curl递归下载软件”吧!
代码如下:
#!/bin/env bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
clear
Url="http://mirrors.cnnic.cn/apache/"
DownListFile="/tmp/downlist.txt"
DownListTmpFile="/tmp/tmplist.txt"
DownFileType="zip$|gz$"
DownList=""
UrlBack="$Url"
[ ! -f $DownListFile ] && touch $DownListFile || echo > $DownListFile
[ ! -f $DownListTmpFile ] && touch $DownListTmpFile || echo > $DownListTmpFile
CURL_URLS(){
Urls=`curl $UrlBack |awk -F "a href=\"" '{printf "%s\n",$2}'|awk -F "\"" '{printf "%s\n",$1}'|grep -vE "^$|^\?|^http:\/\/"|^#`
}
URL_LIST(){
CURL_URLS
for i in $Urls ;do
echo "$UrlBack$i" >> $DownListTmpFile
done
}
RECURSIVE_SEARCH_URL(){
UrlBackTmps=`cat $DownListTmpFile`
[[ "$UrlBackTmps" == "" ]] && echo "no more page for search" && exit 1
for j in $UrlBackTmps ;do
if [[ "${j##*\/}" != "" ]] ;then
echo "$j" >> $DownListFile
else
UrlBack="$j"
URL_LIST
fi
UrlTmps=`grep -vE "$j$" $DownListTmpFile`
echo "$UrlTmps" > $DownListTmpFile
RECURSIVE_SEARCH_URL
done
}
DOWNLOAD_FILE(){
DownList=`grep -E "$DownFileType" $DownListFile`
for k in $DownList ;do
FilePath=/tmp/${k#*\/\/}
[ ! -d `dirname $FilePath` ] && mkdir -p `dirname $FilePath`
[ ! -f $FilePath ] && cd `dirname $FilePath` && curl -O $k
done
}
URL_LIST $Urls
RECURSIVE_SEARCH_URL
到此,相信大家对“如何使用curl递归下载软件”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。