免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1648 | 回复: 1
打印 上一主题 下一主题

求助:自动下载脚本的一个bug [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-12 09:55 |只看该作者 |倒序浏览
5可用积分
mp3down.sh 内容如下:
#!/bin/bash
check_domain()
{
if [ $domain1 -lt 10 ] ; then
      domain2=http://mp300$domain1.mp3.net
else
      domain2=http://mp30$domain1.mp3.net
fi
}
check_name1()
{
if [ $name -lt 10 ] ; then
     name1=0$name
else
     name1=$name
fi
}
check_name2()
{
if [ $name -lt 10 ] ; then
     name1=00$name
elif [ $name -lt 100 ] ; then
     name1=0$name
elif [ $name -lt 1000 ] ; then
     name1=$name
fi
}
lujing=/root/mp3

for((domain1=1;domain1<20;domain1++))
do
dir2=2
for((dir1=1;dir1<$dir2;dir1++))
do
res2=0
ddp=rmvod$domain1-$dir1
name2=2
checkname=0
for((name=1;name<$name2;name++))
do
check_domain
#mkdir
if [ ! -d /root/myiso/$ddp ]; then
        mkdir /root/myiso/$ddp
fi

if [ $checkname -eq 0 ] ; then
check_name1
else
check_name2
fi

alldir=$domain2/$dir1/$name1.jpg
/usr/bin/wget -q $alldir -P $lujing/$ddp
res=`echo $?`
if [ $res -eq 0 ] ; then
name2=$(($name2 + 1))
elif [ $name -eq 1 ] ; then
checkname=1
check_name2
alldir=$domain2/$dir1/$name1.mp3
/usr/bin/wget -q $alldir -P $lujing/$ddp
res2=`echo $?`
if [ $res2 -eq 0 ] ; then
name2=$(($name2 + 1))
fi
fi
done
if [ $res2 -eq 0 ] ; then
dir2=$(($dir2 + 1))
fi
done
done

现在下载01.mp3,02.mp3……都正常,路径切换也可以,服务器切换也可以。但下载001.mp3只能下一个,之后就没有再下载,直接切换了路径。
if [ $res2 -eq 0 ] ; then
name2=$(($name2 + 1))
fi
怀疑是这个嵌套的if没有执行。但也看不出错在哪了……

论坛徽章:
0
2 [报告]
发表于 2010-01-13 10:36 |只看该作者
今天发现竟然有002.mp3之后的文件被下载,莫名奇妙……
明明有些目录的没有下载,但有些目录就下载了???
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP