我想在Mac(Snow Leopard)的Mac上观看一个文件夹,然后执行一个脚本(为其提供刚移入文件夹的文件名(作为参数... x.sh“文件名”))。] >
我有一个全部用bash(x.sh)编写的脚本,它将在输入$ 1上移动一些文件和其他内容,当新文件/文件夹移动/创建到目录中时,我只需要OSX给我文件名。
任何这样的命令?
我想在Mac(Snow Leopard)的Mac上观看一个文件夹,然后执行一个脚本(为它提供刚移入文件夹的文件名(作为参数... x.sh“文件名”))。我都有一个脚本...
fswatch
为了说明,以下命令将在inotifywait
或node.js
每次更改时回显watchfiles <cmd> <paths...>
;并且默认间隔检查为1秒
watchfiles
$ rsync -avz --exclude 'some-file' --exclude 'some-dir' './' '/my/destination'
这是一个无限循环,基本上与执行以下操作相同:
您可以为此目的使用launchd。可以将“已启动”配置为在修改文件路径时自动启动程序。
Facebook的watchman,可通过Homebrew获得,看起来也不错。它还支持过滤:
您可能想看看(也许扩展)我的小工具kqwait
。当前,它只是闲坐着等待一个文件的写事件,但是kqwait
架构允许分层事件堆栈...
kqueue是用于监视文件/目录的跨平台python API,它具有内置的“技巧”工具,可让您在事件(包括新添加的文件,已删除的文件和已更改的事件)发生时触发操作(包括shell命令)文件)。
[这只是提及watchdog作为OSX上的替代方法,以在文件更改时运行任意命令。我觉得它简单实用。
编辑: