Ich habe ein Skript, das den Befehl udevadm
verwendet, um Informationen über ein/dev Gerät zu erhalten, die Informationen für mein Skript ist der ID_SERIAL
Wert, weil ich die tty's
Geräte, die ein bestimmtes Produkt darstellt filtern möchten verbunden mit dem USB-Anschluss. Das Problem ist, dass die udevadm-Version des udevm, das in der Umgebung vorhanden ist, 128
ist und diese Version von udevadm
die Abfrage property
nicht verfügbar hat. Wie kann ich das an USB Ports angeschlossene Gerät auf andere Weise filtern?Alternative zur Verwendung von udevadm Befehl
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;
Darf ich annehmen, dass Sie udev nicht in Ihrer Umgebung aktualisieren können? –
Wenn "udevadm" nicht genau nach Ihren Wünschen gefiltert werden kann, können Sie auch andere Tools wie 'grep',' sed' oder 'awk' verwenden, um die Ausgabe von' udevadm' weiter zu filtern. –
Ich kann die Umgebung nicht aktualisieren. – JulianOliveira