Macos SHELL:如果目录在最近10分钟内被修改,则退出脚本

Macos SHELL:如果目录在最近10分钟内被修改,则退出脚本,macos,shell,Macos,Shell,我只是想简单地检查一下: 如果在过去10分钟内修改了目录,则停止脚本。 如果在过去10分钟内未修改目录,则继续 下面的值始终返回真值 if "`find "$DirName" -type d -mindepth 1 -mmin -10`"; then exit fi 或 还尝试比较stats和date+%y%m%d%s。但似乎没有什么进展 有人能给我指一下正确的方向吗 macOS Majove您是在尝试递归搜索目录并确定树中是否有任何文件已被修改(这似乎是使用查找的唯一原因),还是只需

我只是想简单地检查一下:

如果在过去10分钟内修改了
目录,则停止脚本。
如果在过去10分钟内未修改
目录,则继续

下面的值始终返回真值

if "`find "$DirName" -type d -mindepth 1 -mmin -10`"; then
    exit
fi

还尝试比较
stats
date+%y%m%d%s
。但似乎没有什么进展

有人能给我指一下正确的方向吗


macOS Majove

您是在尝试递归搜索目录并确定树中是否有任何文件已被修改(这似乎是使用
查找
的唯一原因),还是只需要以下内容:

eval "$(stat -s "$DirName")"  # Set st_mtime to the mtime of the dir
if test "$(( $(date +%s) - $st_mtime ))" -lt 600; then
    exit  # mtime less than 10 minutes ago
fi
尽管跳过评估并写入以下内容可能更为简洁:

if test "$(( $(date +%s) - $(stat -f %m "$DirName") ))" -lt 600; then ...

这非常感谢。我能问一下
-lt
代表什么吗?
-lt
是布尔运算符“小于”
if test "$(( $(date +%s) - $(stat -f %m "$DirName") ))" -lt 600; then ...