问题标签 [inotifywait]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
raspberry-pi - 在 /sys/class/gpio/gpioXX/(树莓派)中未检测到 inotifywait
我已经使用 GPIO 连接了 2 个树莓派:第一个是主机,使用 GPIO2(和 GND ......)第二个是从机,使用 GPIO0 和 GPIO1 所有都是打开继电器卡
我将 GPIO1 和 GPIO0 放在“ IN ”方向,将 GPI02 放在“ out ”方向: echo in > /sys/class/gpio/gpioXX/direction
在我的主设备上,(GPIO2,方向 = OUT),当我将引脚 GPIO2 设置为 1 时,我的从设备上的 2 个引脚也变为 1。所以,这里没问题
我添加了一个 shell 脚本,在一个文件夹上使用 inotifywait(例如 /sys/class/gpio/gpio18/ (GPIO1 为 18))。
当我在我的 SLAVE 上时,我尝试使用 echo 1 > .../value 修改 /sys/class/gpio/gpio18/ 的值,inotifywait 捕获修改,但值没有改变(- bash: echo: write error: Operation not allowed,这是正常的,因为方向在“IN”上)。
当我在我的 MASTER 上时,我修改了 gpio27 的值(对应于 GPI02),两个值文件(GPIO0、GPIO1 和 GPIO2)都发生了变化,但是我的 inotifywait 没有捕捉到对 gpio/gpio18/value 的修改(文件的包含从 0 更改为 1 或相反)
shell - 安全访问通知文件
在 shell 脚本中,我想等待某个文件出现
我会假设文件在处理代码中是有效的。可悲的是,文件似乎消失了,例如在被sha1sum
. 我是否错过了一些明显的东西,这是使文件最后所必需的?
shell - 如何退出 inotifywait
我想监视给定的目录,直到出现某种情况。
现在,无论我使用break
or exit 0
,while 循环都会继续。那么退出循环并将输出传递给变量的最佳方法是什么?
编辑:
替换break
为kill -2 $$
似乎只会触发继续。更糟糕的是 - 有时 break 工作正常 - 但很少。
linux - 在脚本中使用 inotify 监控目录
我写了一个bash脚本来监控特定目录“/root/secondfolder/”,脚本如下:
当我在“/root/secondfolder/”中创建一个名为“fourth.txt”的文件并向其写入内容、保存并关闭它时,它会输出以下内容,但不会回显“close_write”:
有人能指出我正确的方向吗?
macos - 如何使用 FSWatch 在 Mac OSX 上观看文件更改?
我正在尝试使用fswatch从 linux bash 脚本中翻译以下行,以便能够在 Mac OSX 上运行它:
由于 inotifywait 在 Mac OSX 上不起作用,我想用第一行替换FSWatch。尽管 README 引用了 fswatch 手册页,但它没有提供指向它的链接,并且在 Internet 上进行搜索也没有得到任何信息。所以我试着弄乱了一点。
我创建了一个名为的文件夹testfswatch/
,并尝试在父文件夹中运行以下命令,然后在该文件夹中添加和更改文件testfswatch/
:
但是,当我在文件夹中更改或添加文件时,这些命令似乎都没有做任何事情tesfswatch/
。
有人知道我在这里做错了什么吗?欢迎所有提示!
linux - bash read:按超时分组读取结果
短篇小说:在我的 Linux 桌面上,我希望在/dev
创建或删除下的节点时收到通知(知道插入某些设备时创建了哪些节点非常有用)。我为此写了两个幼稚的脚本:
第一个通过以下方式将这些更改写入日志文件inotifywait
:
生成的日志文件如下所示:
监视该日志文件(使用 bashread
命令)并显示通知的第二个脚本:
它可以工作,但正如预期的那样,每个创建/删除的节点都有专用的通知气球。当我插入单个 USB 设备时,通常有几个节点,有时真的很多。因此,当检测到新条目时,我会等待一段时间(例如 200-300 毫秒)以获得更多条目,并且只有在最后一次收到条目后超时后,才会使用 .cry 收集条目notify-send
。
我不是经验丰富的 bash 程序员(和 linux 用户),所以如果有人给我一些关于如何正确实现它的线索,我会很高兴。
amazon-web-services - inotifywait 可以与已安装的 S3 存储桶一起使用吗?
我正在尝试在 AWS 中设置工作流程。
S3 存储桶包含以下文件夹:
另一个任务将文件转储到“待办事项”文件夹中进行处理。
一个 Ubuntu EC2 实例通过 s3fs-fuse 安装了存储桶,并inotifywait
用于监视“待办事项”文件夹中的新文件。
如果我touch /mybucket/todo
从 EC2 实例中执行,inotifywait
则会触发该作业。但是,如果文件从其他来源上传到 S3 文件夹,则不会触发作业。
这看起来是一个明智的设计吗?如果是这样,你能看出我哪里出错了吗?还是我应该只使用cron
?
bash - inotifywait 在其中添加多个文件
这个 shell 脚本应该将文件夹中的所有内容添加到传输中。使用一个文件夹可以正常工作,但是当我同时添加多个文件夹时,它会忽略第二个文件夹。
bash - Ubuntu BASH inotifywait 触发另一个脚本
我正在尝试在 bash 脚本中使用 inotifywait 来监视目录中包含特定标记的文件 (*SDS.csv)。
我也只想执行一次(文件写入目录数据时一次)。
例子:
linux - Bash 监控目录并将文件移出到新位置
我正在监视一个目录中写入该目录的任何新 csv 文件。
创建时的新 csv 文件将附加数据。一旦文件被写入并关闭。该文件需要移动到一个新目录。
我已经完成了以下脚本,但是在运行它时会移动整个目录而不是文件,请帮助