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

osx – Bash脚本 – 确定文件是否修改?

我有一个 Bash脚本,每5秒重复一次拷贝文件.但是这是一个触手可及的过程,通常没有变化.

我知道Linux命令手表,但是由于这个脚本将被用于OS X电脑(没有手表,我不想让大家安装macports),我需要检查一个文件是否被修改或者不用直接的Bash代码.

我应该检查文件修改时间吗?我怎样才能做到这一点?

编辑:我希望扩展我的脚本做更多,而不仅仅是复制文件,如果它检测到一个变化.那么有没有一个纯粹的bash方式呢?

如果你有大量的文件,我倾向于同意rsync的回答
要管理,但是可以使用-u(–update)标记来cp来复制
只有源头比目的地更新的文件.

中央处理器

编辑

由于您已更新该问题表示您想要采取
一些额外的操作,你会想使用-nt检查
在[(测试)内置命令中:

#!/bin/bash

if [ $1 -nt $2 ]; then
  echo "File 1 is newer than file 2"
else
  echo "File 1 is older than file 2"
fi

从手册页:

file1 -nt file2
         True if file1 is newer (according  to  modification  date)  than
         file2,or if file1 exists and file2 does not.

希望有帮助.

原文地址:https://www.jb51.cc/bash/383689.html

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

相关推荐