欢迎来到代码驿站!

Shell

当前位置:首页 > 脚本语言 > Shell

使用curl递归下载软件脚本分享

时间:2021-05-09 07:42:51|栏目:Shell|点击:

复制代码 代码如下:

#!/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

上一篇:Bash Shell中的select命令简单使用示例

栏    目:Shell

下一篇:shell通过正则匹配ip地址实例代码

本文标题:使用curl递归下载软件脚本分享

本文地址:http://www.codeinn.net/misctech/117575.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有