当 USB 设备被移除时,我如何使用 udev 来 运行 一个 shell 脚本?

How do I use udev to run a shell script when a USB device is removed?

这是我的规则:

ENV{DEVTYPE}=="usb_device", 
ACTION=="remove", 
SUBSYSTEM=="usb", 
ATTR{idVendor}=="8829", 
ATTR{idProduct}=="0010", 
RUN+="/bin/mkdir /home/zkd/123"

没用。但是这个规则:

ENV{DEVTYPE}=="usb_device", 
ACTION=="remove", 
SUBSYSTEM=="usb", 
RUN+="/bin/mkdir /home/zkd/123"

有效!!这也有效:

ENV{DEVTYPE}=="usb_device", 
ACTION=="add", 
SUBSYSTEM=="usb", 
ATTR{idVendor}=="8829", 
ATTR{idProduct}=="0010", 
RUN+="/bin/mkdir /home/zkd/123"

那么当 USB 设备被移除时,我如何使用 udev 来 运行 一个 shell 脚本?我必须使用 idProduct 和 idVendor 识别 USB 设备。感谢您的回答!

有关已删除设备的信息在 ENV 中传递,而不是在 ATTR 中传递,因为不再有任何设备可从中提取信息。

ENV{DEVTYPE}=="usb_device", 
ACTION=="remove", 
SUBSYSTEM=="usb", 
ENV{idVendor}=="8829", 
ENV{idProduct}=="0010", 
RUN+="/bin/mkdir /home/zkd/123"