应用程序返回错误后,如何在 bash 中继续循环?

Szy*_*oda 3 bash wget

我用以下方法保存图像:

#!/bin/bash
for i in {1..30000}
do
    wget "http://services.runescape.com/m=itemdb_rs/3809_obj_sprite.gif?id="$i
done
Run Code Online (Sandbox Code Playgroud)

有没有办法加快这个过程?有时一个 URL 不存在,我得到:

connected.
HTTP request sent, awaiting response... 404 Not found
2012-08-04 18:09:36 ERROR 404: Not found.
Run Code Online (Sandbox Code Playgroud)

出现此错误后如何继续?

Der*_*ler 9

尝试

wget "http://s.../m=itemdb_rs/3809_obj_sprite.gif?id="$i || true
Run Code Online (Sandbox Code Playgroud)

这样,如果wget失败,该行的结果仍然为零并且您的脚本继续。

要了解如何正确处理 bash 脚本中的错误,请查看以下资源: