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”

相关文章

1.安装过程出现0x00000000指令引用的0x00000000内存该内存不能为written 如果你安装的是inux系统 需要在...
写在全面:如果根据以下教程涉及到只读文件需要更改文件权限才能需修改文件内容,参考我的另一篇博客:...
写在前面:以下步骤中需要在终端输入命令,电脑端查看博客的朋友可以直接复制粘贴到终端,手机端查看的...
ubuntu16.04和18.04更换国内源 写在前面:安装好ubuntu双系统后,默认的软件更新源是国外的,在国内使用...
ubuntu双系统启动时卡死解决办法(在ubuntu16.04和18.04测试无误) 问题描述: 在安装完ubuntu双系统后...
又来造轮子了。。。。。。。。。。。。。。。。 今天使用w3af向文件中写入的时候,发现没有write权限,...