想象一下您将文件下载到~/img.txt
wget https://picsum.photos/200 -O ~/img.jpg
图像文件被存储。现在假设您重试,但 URL 错误
wget https://picsum.photooooooos/200 -O ~/img.jpg
然后该文件被删除/清空。
如果 URL 返回 404 或下载出现任何错误,如何避免文件被覆盖?
答案1
你总是可以使用临时文件 - 像这样:
outFile=img.jpg
# create temporary file in /tmp and store its name in tmpFile
tmpFile=$(mktemp)
if wget https://picsum.photos/200 -O "$tmpFile"; then
mv -f "$tmpFile" "$outFile" || echo could not replace "$outfile" >&2
else
echo wget failed with $? >&2
fi
rm -f "$tmpFile"