如何使udev规则有效?

Modified on: Sun, 10 Jun 2018 05:09:53 +0800

我想学习udev规则。这是我的工作:

victor@X301A1:~$ ls /etc/udev/rules.d/
70-persistent-cd.rules  70-persistent-net.rules  README

然后:

victor@X301A1:~$ sudo gedit /etc/udev/rules.d/01-my-first-udev.rules

我的规则:

ACTION=="add", RUN+="echo HELLO ! > /home/victor/udev_test_log.txt"

保存文件后:

 sudo udevadm control --reload-rules

我预计连接USB设备会写入文件但没有任何反应。
我哪里错了?

最佳答案

在RUN中,您必须将路径放入脚本。参见man udev

  

将程序添加到要为特定程序执行的程序列表中
             设备。这只能用于非常短的运行任务。运行
             长时间的事件过程可能会进一步阻止
             此设备或从属设备的事件。需要长时间运行的任务
             立即脱离事件过程本身。

例如,创建一个新脚本,在hello.sh中使用/lib/udev并将下一行放入其中:

#!/bin/bash echo HELLO ! > /home/<username>/udev_test_log.txt

使用您的用户名更改<username>。保存文件,关闭它并使其可执行:

#!/bin/bash

echo HELLO ! > /home/<username>/udev_test_log.txt

/etc/udev/rules.d/01-my-first-udev.rules文件中添加新规则,如下所示:

chmod +x /lib/udev/hello.sh

相关问答

添加新评论