如何让wget仅在文件完整时保存文件

How to get wget only save file if its complete

我像这样使用 wget 下载文件

wget http://www.example.com/mysql.zip -O mysql.zip

然后我用那个文件做了一些事情。

但有时如果 url 或某处出现错误,文件就会损坏 mysql.zip

被放置在那里,我的脚本不下载文件,因为它已经存在并且脚本失败。

如果mysql.zip只有在文件下载完成后才放置,有什么办法吗

有两种情况会发生这种情况

  1. Url不存在
  2. 用户手动取消下载

在上述两种情况下,我都不希望文件存在

这个bash脚本怎么样:

#!/bin/bash
if wget http://www.example.com/mysql.zip -O mysql.zip
then
    # Do something with file
else
    rm mysql.zip
fi

wget http://www.example.com/mysql.zip -O mysql.zip || rm -f mysql.zip