У меня есть сценарий, который использует команду udevadm
для получения информации об устройстве/dev, информация, необходимая для моего скрипта, - это значение ID_SERIAL
, потому что я хочу фильтровать устройства tty's
10, которые представляют определенный продукт подключен к порту USB. Проблема в том, что версия udevadm udevm, присутствующая на окружении, - 128
, и эта версия udevadm
не имеет запроса property
avaiable. Как я могу фильтровать устройство, подключенное к портам USB по-другому?Альтернатива использованию команды udevadm
EDIT 1 Command.sh
#!/bin/bash
for sysdevpath in $(find /sys/bus/usb/devices/usb*/ -name dev);do
(syspath="${sysdevpath%/dev}";
echo "syspath = $syspath";
devname="$(udevadm info -q name -p $syspath)";
[[ "$devname" == "bus/"* ]]&& continue;
echo "Passou";
eval "$(udevadm info -q property --export -p $syspath)";
[[ -z "$ID_SERIAL" ]] && continue;
temporario=${ID_SERIAL,,};
if [[ $temporario == *"ManufacturerName"* ]];
then
echo "/dev/$devname";
fi);
done;
Могу ли я предположить, что вы не можете обновить udev в своей среде? –
Если вы не можете заставить 'udevadm' фильтровать именно то, как вы хотите, возможно, вы можете использовать другие инструменты, такие как' grep', 'sed' или' awk', чтобы дополнительно фильтровать вывод из 'udevadm'. –
Я не могу обновить среду. – JulianOliveira