linux-udev规则如何切割完整的devpath属性以创建符号链接

问题描述

我有几个连接到USB集线器的设备,我需要根据它们连接到的端口创建一个符号链接。 我的输出

对于我在/ dev / ttyACM *中; udevadm info --name = $ i --attribute-walk | grep'devpath';完成

是:

Udevadm info starts with the device specified by the devpath and then
ATTRS{devpath}=="4.2.1"
ATTRS{devpath}=="4.2"
ATTRS{devpath}=="4"
ATTRS{devpath}=="0"
Udevadm info starts with the device specified by the devpath and then
ATTRS{devpath}=="4.2.4"
ATTRS{devpath}=="4.2"
ATTRS{devpath}=="4"
ATTRS{devpath}=="0"
Udevadm info starts with the device specified by the devpath and then
ATTRS{devpath}=="4.1.2"
ATTRS{devpath}=="4.1"
ATTRS{devpath}=="4"
ATTRS{devpath}=="0"
Udevadm info starts with the device specified by the devpath and then
ATTRS{devpath}=="4.3.1"
ATTRS{devpath}=="4.3"
ATTRS{devpath}=="4"
ATTRS{devpath}=="0"
Udevadm info starts with the device specified by the devpath and then
ATTRS{devpath}=="4.3.3"
ATTRS{devpath}=="4.3"
ATTRS{devpath}=="4"
ATTRS{devpath}=="0"

我的udev规则文件是:

KERNEL=="ttyACM*",SUBSYstemS=="usb",DRIVERS=="usb",ENV{my_path} = "$attr{devpath}",ENV{my_dev} = "yes"
ENV{my_dev} == "yes",ATTRS{idvendor}=="14cd",ATTRS{idProduct}=="8601",SYMLINK+="Dev_$env{my_path}" 

哪个为我的设备提供了这些符号链接

/dev/Dev_4.1.2 -> ttyACM2
/dev/Dev_4.2.1 -> ttyACM0
/dev/Dev_4.2.4 -> ttyACM1
/dev/Dev_4.3.1 -> ttyACM3
/dev/Dev_4.3.3 -> ttyACM4

我需要它们看起来像这样:

/dev/Dev_1.2 -> ttyACM2
/dev/Dev_2.1 -> ttyACM0
/dev/Dev_2.4 -> ttyACM1
/dev/Dev_3.1 -> ttyACM3
/dev/Dev_3.3 -> ttyACM4

或者还有另一种有效的方式来创建不使用udev规则的符号链接

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...