我有一个Ubuntu 8.04 LTS(服务器版),我需要编写一个udev规则,以便在插入USB拇指驱动器时起作用.但是,我需要一个不同的操作,具体取决于驱动器的文件系统.我知道我可以使用ID_FS_TYPE环境变量来检查驱动器上的文件系统.
按照here的说明,我尝试了一个虚拟的udev规则:
KERNEL!="sd[a-z][0-9]",GOTO="my_udev_rule_end" ACTION=="add",RUN+="/usr/bin/touch /tmp/test_udev_%E{ID_FS_TYPE}" ACTION=="add",ENV{ID_FS_TYPE}=="vfat",RUN+="/usr/bin/touch /tmp/test_udev_it_works" LABEL="my_udev_rule_end"
但是,当我插入带有vfat文件系统的拇指驱动器(应该触发两个规则)时,我最终得到一个名为/ tmp / test_udev_vfat的文件,这意味着第一个规则被成功触发,并且ID_FS_TYPE环境变量是“vfat” “,但我没有其他文件,这意味着虽然我知道ID_FS_TYPE env变量是”vfat“,但我似乎无法检查它是否匹配.
我尝试使用谷歌搜索,但几乎每个结果似乎都假设ENV {ID_FS_TYPE} ==“vfat”有效.我还在Ubuntu 10.04 LTS服务器上测试了完全相同的udev规则,并且我得到了相同的结果.
我可能错过了一些非常简单的东西,但我只是不明白.有没有人看到我的udev规则有什么问题会阻止它在ENV {ID_FS_TYPE}上匹配?
谢谢.