当我在Linux机器中插入设备时,我想执行脚本。例如,xinput
在鼠标或特定驱动器上的备份脚本上运行。
我已经在这里和这里看到了很多有关此的文章。但是我就是无法正常工作。
这是一些简单的示例,试图至少获得某种响应。
/etc/udev/rules.d/test.rules
#KERNEL=="sd*", ATTRS{vendor}=="*", ATTRS{model}=="*", ATTRS{serial}=="*", RUN+="/usr/local/bin/test.sh"
#KERNEL=="sd*", ACTION=="add", "SUBSYSTEM=="usb", ATTRS{model}=="My Book 1140 ", ATTRS{serial}=="0841752394756103457194857249", RUN+="/usr/local/bin/test.sh"
#ACTION=="add", "SUBSYSTEM=="usb", RUN+="/usr/local/bin/test.sh"
#KERNEL=="sd*", ACTION=={add}, RUN+="/usr/local/bin/test.sh"
KERNEL=="sd*", RUN+="/usr/local/bin/test.sh"
KERNEL=="*", RUN+="/usr/local/bin/test.sh"
/usr/local/bin/test.sh
#!/usr/bin/env bash
echo touched >> /var/log/test.log
if [ "${ACTION}" = "add" ] && [ -f "${DEVICE}" ]
then
echo ${DEVICE} >> /var/log/test.log
fi
规则文件夹受到监视,inotify
并且应立即处于活动状态。我一直在重新插入键盘,鼠标,平板电脑,记忆棒和USB驱动器,但一无所获。没有触摸日志文件。
现在,至少知道某事正在工作的最简单方法是什么?从有效的工作上进行工作比在无效的工作上进行工作容易。
3.5.0-23-generic
。
udevadm trigger
或插入设备以应用新规则?