微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux-下载文件并从Bash脚本文件解压缩

我正在下载文件,然后将其从Bash脚本文件解压缩.

#!/bin/sh
wget -N http://example.com/file.zip
unzip -o file.zip

有没有办法检查wget是否实际下载了新文件?例如,如果file.zip的远程版本与本地版本相同,它将不会检索该文件.如果wget实际上检索到一个文件,我只想解压缩该文件.

解决方法:

您应该检查返回值和wget的输出,以确定是否已下载文件

out=$(wget -qN 'http://example.com/file.zip' 2>&1)
[[ $? -eq 0 && $out ]] && unzip file.zip

如果file.zip已经具有相同的时间戳,则wget将不会下载该文件,并且不会将任何内容写入stdout / stderr,从而使变量为空.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐