微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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”

原文地址:https://www.jb51.cc/ubuntu/348158.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐