Обычно вы делаете наоборот: напишите специальное правило udev
для определенного поставщика / продукта, которое создает известную символическую ссылку, которую вы можете использовать в своей следующей функции ". В Google есть множество руководств, как выглядит такое правило.
Или вы пишете свое приложение таким образом, что можете передавать путь к устройству в качестве аргумента.
Можно пройти путь к устройству в / sys / devices
в обратном порядке и на каждом шаге проверять, является ли это устройство USB и имеет ли он конкретного поставщика / продукт. Вот что, например, udevadm info -a / dev / ttyUSB0
делает. Вам нужно сделать это таким образом, потому что это не обязательно USB-устройство, это может быть что угодно.
Если у вас есть , чтобы делать это «кодированием, а не командой», посмотрите исходный код udevadm
и скопируйте все, что он делает. Это будет нетривиальное усилие, и его нельзя сильно упростить, поэтому я действительно предлагаю сделать это по-другому.