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 (将#修改为@)