udev 规则无法在添加 USB 设备时运行脚本

udev 规则无法在添加 USB 设备时运行脚本

以下是我为 Seagate 500 GB 扩展驱动器创建的一个简单规则,/etc/udev/rules.d/21-persistent-local.rules该驱动器在虚拟机内运行的 Debian 机器上使用 USB 接口。

ACTION=="add", ENV{DEVTYPE}=="usb_device", ATTRS{ID_SERIAL_SHORT}=="NA453QQS", SUBSYSTEM=="usb", HOTPLUG == 1, \
RUN+="/usr/local/bin/run.sh"

保存后,我运行 I run udevadm trigger。最后,我插入驱动器并运行udevadm monitor --env以验证扩展驱动器是否已正确加载,情况确实如此。

add现在我定义了在操作上应该运行的规则run.sh。除了两个和run.sh之外什么都没有。但脚本无法运行。具体来说,没有针对脚本打印任何内容。我在内核中加载的模块会打印退出和进入内核时应该可见的消息。sudo insmod foo.kosudo rmmod foo.kodmesgrun.sh

这个问题的可能原因是什么?

PS:在上面的规则文件中,我将这两个都用于ATTRS{...} ID_SERIAL=Seagate_Expansion_NA453QQS ID_SERIAL_SHORT=NA453QQS

相关内容