手机
当前位置:查字典教程网 >脚本专栏 >linuxshell >使用curl递归下载软件脚本分享
使用curl递归下载软件脚本分享
摘要:复制代码代码如下:#!/bin/envbashPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/b...

复制代码 代码如下:

#!/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 "%sn",$2}'|awk -F """ '{printf "%sn",$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递归下载软件脚本分享】相关文章:

Shell脚本制作的终端会话回放功能脚本分享

一个测试下载速度的shell脚本

CentOS下对shell脚本加密的二种方法

win下调用putty执行命令脚本分享

shell替换文件中的文件路径脚本分享

获取shell脚本自身所在目录的Shell脚本分享

Shell实现的Oracle启动脚本分享

unix编程创建前缀固定的临时文件代码分享

ftp自动上传脚本分享

shell对比文件内容脚本分享

精品推荐
分类导航