udev 规则不起作用

udev 规则不起作用

我正在尝试为 USB 驱动器插件编写一个 udev 规则。我想先将其安装到/media,然后运行脚本/usr/local/bin/script.sh。当我插入 USB 时,它甚至不会使用此规则安装设备。但是,如果我手动将 RUN 中的部分输入到终端,它会安装并执行脚本。

规则文件说明:

ACTION=="add", KERNEL=="sd[a-z]*", RUN+="/bin/mount -t auto /dev/%k /media/ && /usr/local/bin/script.sh"

这是在规则的 RUN 部分执行两个命令的正确方法吗?

答案1

这不是执行 2 个命令的正确方法。我也不喜欢你的规则的匹配部分,但在本例中我将保留它。你可以这样做:

ACTION=="add", KERNEL=="sd[a-z]*", RUN+="/bin/sh -c '/bin/mount -t auto /dev/%k /media/ && /usr/local/bin/script.sh'"

或者

ACTION=="add", KERNEL=="sd[a-z]*", RUN+="/bin/mount -t auto /dev/%k /media/", RUN+="/usr/local/bin/script.sh"

但是在你的情况下为什么不直接移动mount脚本内部的命令呢?

相关内容