我有一个 udev 规则,可以/dev
根据 USB 设备的序列号为它们生成符号链接(我有多个其他方面相同的设备,但需要可重现的设备端点)。
目前我需要为每个新序列号添加一条规则,如下所示:
SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", ATTRS{serial}=="S101", SYMLINK+="ttyS101"
SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", ATTRS{serial}=="S102", SYMLINK+="ttyS102"
...
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种使用单个规则来执行此操作的方法,所有可动态访问的都是%k
、%n
和%c
,但我发现无法访问任何其他值。使用PROGRAM=""
可能是一种方法,但我如何从那里访问 ATTRS?
我试过这个:
SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", ATTRS{serial}=="S101", PROGRAM="/bin/sh -c 'udevadm info /dev/%k | grep ID_SERIAL_SHORT= | cut -d= -f 2'" SYMLINK+="tty%c"
Run Code Online (Sandbox Code Playgroud)
但它看起来/dev/%k
在程序运行时不可用,所以这也不起作用。
有什么办法可以用于ATTRS{serial}
我的SYMLINK+=""
吗?
归档时间: |
|
查看次数: |
3936 次 |
最近记录: |