这个简单的 udev 规则有什么问题?
KERNEL=="sdc1", ACTION=="add", RUN+="/bin/mkdir /tmp/folder1"
当我插入 USB 棒时,规则什么也不做。
答案1
不,您可能无法创建文件夹。
因为sd??
节点是在分区挂载之前由内核创建的。
最好寻找不同的方法,例如使用带有脚本udisks
。
答案2
使用 UUID 匹配的规则:
KERNEL=="sd??", ENV{ID_FS_UUID}=="<the_uuid>", RUN+="/bin/mkdir /tmp/folder1"
使用以下命令获取 UUID
udevadm info /dev/<usb_stick_partition> | grep ID_FS_UUID=
例子
$ udevadm info /dev/sda1 | grep ID_FS_UUID=
E: ID_FS_UUID=c44a008d-58b2-467d-8814-f06973e49dcb
所以
KERNEL=="sd??", ENV{ID_FS_UUID}=="c44a008d-58b2-467d-8814-f06973e49dcb", RUN+="/bin/mkdir /tmp/folder1"