通过shell检查usb总线下的所有设备

本文介绍了一个Shell脚本函数,该函数可以检测系统的USB总线下连接的所有设备,并使用lsusb命令显示详细信息。首先检查是否存在指定目录,然后列出所有总线及连接在其上的设备。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

examine_all_usb_devices() {
     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/。
root@debian:/dev/bus/usb# ls
001
然后用ls 遍历/dev/bus/usb/下的设备
root@debian:/dev/bus/usb# ls
001
这里看到bus就等于001,bus是通过$(ls "${USB_BUS}")来赋值。
然后用通过的方法看这个001下面的devices,这里通过"${USB_BUS}","${bus}",/,拼成/dev/bus/usb/001/ 然后通过ls就可以得到结果
root@debian:/dev/bus/usb/001# ls
001  002  003  004

然后对这下面的每个设备执行lsusb -D


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值