UDEV:如何在删除事件期间匹配 SYMLINK?

UDEV:如何在删除事件期间匹配 SYMLINK?

我正在使用libusb连接打印机。我正在编写一条规则,用于udev在打印机断开连接时将其移除。我使用符号链接来指示设备。但是移除时,规则没有被触发。我该怎么办?

ATTRS{manufacturer}=="Zebra Technologies", ACTION=="add", RUN+="/usr/local/bin/reinitZebra.sh", SYMLINK+="usblp%k"
SYMLINK=="usblp%k", ACTION=="remove", RUN+="/usr/local/bin/reinitZebra.sh"

答案1

  • %k(变量)不能用在规则匹配条件中。

    字符串替换

    在编写可能处理多个类似设备的规则时,udev 的 printf 类字符串替换运算符非常有用。您可以简单地在任何赋值中包含这些运算符您的规则制定后,udev 将在执行时对其进行评估。

    来源:编写 udev 规则作者:Daniel Drake (dsd)

  • 直接使用相同的add条件(您选择了一条长路径):

    ATTRS{manufacturer}=="Zebra Technologies", ACTION=="remove", RUN+="/usr/local/bin/reinitZebra.sh"
    

相关内容