bash 脚本可以连接到文件吗?

Tob*_*ler 32 linux shell hook files

我想要一个脚本休眠,除非某个文件被修改/删除(或者在某个目录中创建的文件,或者......)。这可以以某种优雅的方式实现吗?我想到的最简单的事情是在再次检查状态之前休眠一段时间的循环,但也许有更优雅的方法?

she*_*lic 34

在 linux 上,您可以使用内核的inotify功能。脚本工具可以在那里找到:inotify-tools

来自维基的示例使用:

#!/bin/sh

EVENT=$(inotifywait --format '%e' ~/file1) # blocking without looping
[ $? != 0 ] && exit
[ "$EVENT" = "MODIFY" ] && echo 'file modified!'
[ "$EVENT" = "DELETE_SELF" ] && echo 'file deleted!'
# etc...
Run Code Online (Sandbox Code Playgroud)