Ubuntu Hardy:在udev规则中测试环境变量似乎不起作用

前端之家收集整理的这篇文章主要介绍了Ubuntu Hardy:在udev规则中测试环境变量似乎不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个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}上匹配?

谢谢.

尝试在文件开头添加以下行:

IMPORT {program} =“/ sbin / blkid -o udev -p%N”

猜你在找的Ubuntu相关文章