私は/ devデバイスに関する情報を得るためにコマンドudevadm
を使用するスクリプトを持っています。特定の製品を表すtty's
デバイスをフィルタリングしたいのでスクリプトに必要な情報はID_SERIAL
の値ですUSBポートに接続します。問題は、環境に存在するudevmのudevadmバージョンが128
であり、このバージョンがudevadm
であり、クエリproperty
が使用できないということです。 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