我计划实现的目标:
我试图在插入特定 SD 卡时自动运行脚本。
事实:
A。我计划运行的脚本位于 /home/vivek/Desktop/Message.sh 中,其中包含以下脚本。其权限设置为可执行文件:
#!/bin/sh
echo "Card is now inserted"
b. 在 /etc/udev/rules.d 下,我的规则文件名为 10-local.rules,其中包含以下规则:
ENV{ID_FS_UUID}=="C097-C12A", ACTION == "add", RUN+="/bin/sh /home/vivek/Desktop/Message.sh"
C。 udevadm检测到我的SD卡的ENV{ID_FS_UUID}如下:
d.我的 /etc/udev/rules.d/ 中的规则文件正在处理,如下图所示,由“udevadm test”发现:
问题: 当我插入 SD 卡时,它安装得很好。但我的脚本永远不会被执行!任何帮助表示赞赏。
干杯
答案1
我认为问题可能是您的规则文件10-local.rules
在执行列表中太早了。如果您重命名它95-local.rules
并重新加载规则sudo udevadm control --reload
(如果您的系统需要的话),那么您可能会取得更大的成功。请注意,udev 永远不会有任何输出,因此echo
脚本中的 an 需要指向一个文件。
udevadm info
该开始显示的值可能E:
是ENV{}
由早期规则设置的属性,因此您应该尽可能晚地放置规则。