加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 01:29:31 所属栏目:安全 来源:网络整理
导读:我有一个 Bash脚本,每5秒重复一次拷贝文件.但是这是一个触手可及的过程,通常没有变化. 我知道Linux命令手表,但是由于这个脚本将被用于OS X电脑(没有手表,我不想让大家安装macports),我需要检查一个文件是否被修改或者不用直接的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.

希望有帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读