Usb 从UDEV设置环境变量

Usb 从UDEV设置环境变量,usb,environment-variables,ubuntu-14.04,udev,Usb,Environment Variables,Ubuntu 14.04,Udev,我有一些不同的设备,它们都完成相同的基本任务。我想能够交换它们,无论哪一个是插入,有相同的符号链接。例如,如果我有device1、device2和device3,并将其中一个插入到我的计算机中,我希望创建一个称为my_device的符号链接。但是,我希望在我的计算机上运行的程序知道插入了哪一个,最好是通过使用环境变量,即my_DEVICE_ID=“1” 这就是我到目前为止所做的: ACTION=="add", SUBSYSTEM=="usb" ATTRS{...}=="...", SYMLINK

我有一些不同的设备,它们都完成相同的基本任务。我想能够交换它们,无论哪一个是插入,有相同的符号链接。例如,如果我有device1、device2和device3,并将其中一个插入到我的计算机中,我希望创建一个称为my_device的符号链接。但是,我希望在我的计算机上运行的程序知道插入了哪一个,最好是通过使用环境变量,即my_DEVICE_ID=“1”

这就是我到目前为止所做的:

ACTION=="add", SUBSYSTEM=="usb" ATTRS{...}=="...", SYMLINK+="my_device", ENV{MY_DEVICE_ID}="1"

ACTION=="add", SUBSYSTEM=="usb" ATTRS{....}=="....", SYMLINK+="my_device", ENV{MY_DEVICE_ID}="2"

ACTION=="add", SUBSYSTEM=="usb" ATTRS{.....}==".....", SYMLINK+="my_device", ENV{MY_DEVICE_ID}="3"
注意:一次只能插入一个设备。这些规则正确地创建符号链接,但从未设置环境变量。为什么不呢?我能做些什么来实现这一点

谢谢你的帮助


Ubuntu 14.04

udev
规则中分配的变量的范围仅限于
udev
环境本身。您需要使用另一个工具将您的数据提供给其他程序。

恐怕情况就是这样。你对我可以使用的其他设施有什么想法吗?例如,你可以创建另一个嵌入设备id的符号链接,然后检查是的,我想你可以这样做。不幸的是,这将导致大量if语句试图查看哪个符号链接存在,而这是不可取的。谢谢你的建议!