gpt4 book ai didi

bash - 如何仅在 wget 或 curl 下载较新文件时才执行操作?

转载 作者:行者123 更新时间:2023-12-04 02:21:37 25 4
gpt4 key购买 nike

我正在寻找一个简单的 bash 解决方案,以便在执行类似 wget --timestamp https://example.com/my.file

的命令后更新文件时执行操作

我观察到 wget 在两种情况下都返回 0,当文件已经是最新版本时以及当它确实下载了较新的版本时。

在 bash 中实现它的最简单方法是什么?

最佳答案

您可以使用stat -c %y 来保存最后一次数据修改的时间戳,在执行wget 之前和之后。如果两个时间戳不同,则运行您的操作。

t1=$(stat -c %y $FILE)
wget https://example.com/$FILE
t2=$(stat -c %y $FILE)
if [ "$t1" != "$t2" ]; then
echo "Do something"
fi

如果您使用的是类似 BSD 的 Unix,例如 macos,请使用 stat -f %m 而不是 stat -c %y

关于bash - 如何仅在 wget 或 curl 下载较新文件时才执行操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28407632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com