我正在寻找一个简单的bash解决方案,在wget --timestamp https://example.com/my.file
我观察到wget在两种情况下都返回0,当文件已经是最新版本时,以及下载更新版本时。
在bash中实现此功能的最简单方法是什么?
答案 0 :(得分:3)
您可以使用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
。