USB_BUS="/dev/bus/usb/"
if [ -d "${USB_BUS}" ]; then
# shellcheck disable=SC2045
for bus in $(ls "${USB_BUS}"); do
for device in $(ls "${USB_BUS}""${bus}"/); do
echo "USB Bus ${bus}, device ${device}"
lsusb -D "${USB_BUS}""${bus}"/"${device}"
done
done
fi
}
这个函数用于检测usb 总线下的所有设备
首先用[ -d "${USB_BUS}" ]是否存在/dev/bus/usb/。
roo[email protected]:/dev/bus/usb# ls
001
然后用ls 遍历/dev/bus/usb/下的设备
[email protected]:/dev/bus/usb# ls
001
这里看到bus就等于001,bus是通过$(ls "${USB_BUS}")来赋值。
然后用通过的方法看这个001下面的devices,这里通过"${USB_BUS}","${bus}",/,拼成/dev/bus/usb/001/ 然后通过ls就可以得到结果
[email protected]:/dev/bus/usb/001# ls
001 002 003 004
然后对这下面的每个设备执行lsusb -D