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.

希望有帮助.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...