udev 规则不起作用

udev 规则不起作用

我想更多地了解udev规则,所以我实现了一个简单的,但我不起作用:

/etc/udev/rules.d:

KERNEL=="sdb1"
ACTION=="add"

RUN+="~/test/exe.sh"

〜/测试/exe.sh:

#!/bin/bash
echo "USB plugged in" > ~/test/showup.txt

.sh文件是可执行的,我通过检查了闪存驱动器的名称lsblk。它被称为sdb并有一个sdb1分区。

我已经查找了不同的教程,但找不到我的错误。以防万一,我使用 Arch Linux。

答案1

udev 规则由 root 执行。

RUN+="~/test/exe.sh" 等于 "/root/test/exe.sh",但 udev 规则似乎无法识别“~”;修改路径即可解决此问题。

将脚本放在“/usr/bin/exe.sh”中可能会更好。

相关内容