Chinaunix

标题: 求助:自动下载脚本的一个bug [打印本页]

作者: aredfox    时间: 2010-01-12 09:55
标题: 求助:自动下载脚本的一个bug
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没有执行。但也看不出错在哪了……
作者: aredfox    时间: 2010-01-13 10:36
今天发现竟然有002.mp3之后的文件被下载,莫名奇妙……
明明有些目录的没有下载,但有些目录就下载了???




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2