我想在我的Mac上监视一个文件夹,然后执行一个bash脚本,将刚刚移动到或在监视目录中创建的任何文件/文件夹的名称传递给它。
当前回答
如果你想使用NodeJS,你可以使用一个名为chokidar(实际上是chokidar-cli)的包来监视,然后使用rsync (Mac包含):
Rsync司令部:
$ rsync -avz——排除'some-file'——排除'some-dir'。/的/我的/目的地”
Chokidar cli(通过npm全局安装):
Chokidar \"**/*\" -c \"your-rsync-command-above\"
其他回答
看门狗是一个跨平台的python API,用于监视文件/目录,它有内置的“诡计”工具,允许您在事件发生时触发动作(包括shell命令)(包括新添加的文件,删除的文件和更改的文件)。
Apple OSX文件夹操作允许您根据对文件夹采取的操作自动化任务。
Facebook的看门人(watchman)在Homebrew上也很好用。它还支持过滤:
这两行代码在源目录上建立一个监视,然后进行设置 在名为buildme的触发器上运行一个名为miniify -css的工具 每当CSS文件被更改时。工具将被传递一个列表 改变文件名。 $ watchman watch ~/src $ watchman—trigger ~/src buildme '*.css'—mini -css
注意,路径必须是绝对的。
下面是使用sschober工具的一行代码。
$ while true; do kqwait ./file-to-watch.js; script-to-execute.sh; done
这里有一个简单的单行替代方案,供那些没有watch命令但又想每3秒执行一次命令的用户使用:
而:;做您的命令;睡眠3;完成
这是一个无限循环,基本上与执行以下操作相同:
看-n3你的命令
推荐文章
- 在Mac上安装R -警告消息:设置LC_CTYPE失败,使用“C”
- 为什么cURL返回错误“(23)Failed writing body”?
- 节点和错误:EMFILE,打开的文件太多
- 如何使用命令行工具为Mac OS X创建一个漂亮的DMG ?
- 由于环境错误无法安装包:[Errno 13]
- Mac压缩没有__MACOSX文件夹?
- 如何复制一个选择到OS X剪贴板
- 如何在Mac上设置我的默认shell,例如Fish?
- "ERROR:root:code for hash md5 was not found"当使用任何hg mercurial命令时
- Linux相当于Mac OS X的“open”命令
- 如何在Mac上的命令行安装JQ ?
- 在Mac OS X上安装/升级gradle
- 如何在终端中提高光标速度?
- Objective-C中的自动引用计数不能防止或减少什么样的泄漏?
- 如何在Mac OS安装时停止MySQL ?