错误后继续BASH脚本

时间:2017-04-02 20:57:09

标签: bash http-status-code-404 wget

这个脚本可以很好地找到我需要的东西,但有些情况下404错误会导致一切失败。

#!/bin/sh
 set +e

 exec 7<foo.txt
 exec 8<bar.tmp

 echo "Retrieving data"

 while read line1 <&7 && read line2 <&8
 do

 echo "beginning... retrieving files from d list"
 echo "this WILL take a while"

 echo $line1
 echo $line2


 wget -e  robots=off -t1 -r -p -Q20k --wait=30 --random-wait --limit-rate=200k -np -U "$line1"  http://$line2/page.html

 cp /home/user/testing/*.html /home/user/production

 echo "done"
 done

 exec 7<&-
 exec 8<&-

我想继续使用该脚本,因为即使这个名为$ line2的网站有404,其他网站也没有。

我已经完成了&#34;设置+ e&#34;,甚至用&#34; ||运行脚本true&#34;,在错误发生后全部停止。由于404,没有要复制的文件 - 然后它无法进入下一个站点。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我发现的作品是:

if [ ! -d "/home/user/production" ]; then
    continue           #continue the loop.
fi