the*_*man 21 command-line curl download
我想curl下载一个链接,但我想让它跳过已经存在的文件.现在,我所拥有的代码行将继续覆盖它,不管是什么:
curl '$url' -o /home/$outputfile &>/dev/null &
Run Code Online (Sandbox Code Playgroud)
如何实现这一目标?
小智 23
你可以把你的电话curl放在一个if街区内:
if ! [ -f /home/$outputfile ]; then
curl -o /home/$outputfile "url"
fi
Run Code Online (Sandbox Code Playgroud)
另请注意,在您的示例中,您有$url内部单引号,这将无法执行您想要的操作.相比:
echo '$HOME'
Run Code Online (Sandbox Code Playgroud)
至:
echo "$HOME"
Run Code Online (Sandbox Code Playgroud)
此外,curl还有一个--silent在脚本中有用的选项.
Wol*_*ang 13
您可以使用curl选项-C -.此选项用于恢复损坏的下载,但如果文件已经完成,将跳过下载.请注意,参数to -C是一个破折号.缺点可能是卷曲仍然短暂地联系远程服务器以询问文件大小.
使用wget --no-clobber代替:
-nc,--no-clobber:跳过将下载到现有文件的下载内容.
例:
wget -nc -q -O "/home/$outputfile" "$url"
Run Code Online (Sandbox Code Playgroud)