Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何找到Linux(Ubuntu)中连接的所有USB设备?_Linux_Bash_Shell - Fatal编程技术网

如何找到Linux(Ubuntu)中连接的所有USB设备?

如何找到Linux(Ubuntu)中连接的所有USB设备?,linux,bash,shell,Linux,Bash,Shell,我在某处找到了一个脚本,它部分实现了我想要的功能: #!/bin/bash for sysdevpath in $(find /sys/bus/usb/devices/usb*/ -name dev); do ( syspath="${sysdevpath%/dev}" devname="$(udevadm info -q name -p $syspath)" [[ "$devname" == "bus/"* ]] && c

我在某处找到了一个脚本,它部分实现了我想要的功能:

#!/bin/bash
for sysdevpath in $(find /sys/bus/usb/devices/usb*/ -name dev); do
    (
        syspath="${sysdevpath%/dev}"
        devname="$(udevadm info -q name -p $syspath)"
        [[ "$devname" == "bus/"* ]] && continue
        eval "$(udevadm info -q property --export -p $syspath)"
        [[ -z "$ID_SERIAL" ]] && continue
        echo "{'name': '/dev/$devname', 'id_serial': '$ID_SERIAL'}"
    )
done
但通过这种方式,我可以获得所有连接的设备:

{'name': '/dev/ttyACM3', 'id_serial': 'Arduino__www.arduino.cc__0043_74132343221092D0'}
{'name': '/dev/input/event16', 'id_serial': 'Logitech_USB_Receiver'}
{'name': '/dev/input/mouse2', 'id_serial': 'Logitech_USB_Receiver'}
{'name': '/dev/hidraw0', 'id_serial': 'Logitech_USB_Receiver'}
{'name': '/dev/usb/hiddev0', 'id_serial': 'Logitech_USB_Receiver'}
{'name': '/dev/input/event17', 'id_serial': 'Logitech_USB_Receiver'}
{'name': '/dev/hidraw1', 'id_serial': 'Logitech_USB_Receiver'}
{'name': '/dev/ttyACM0', 'id_serial': 'Lenovo_N5321_gw_41C01111111A76M0'}
{'name': '/dev/ttyACM1', 'id_serial': 'Lenovo_N5321_gw_41C0BAAAAD5A76M0'}
{'name': '/dev/ttyACM2', 'id_serial': 'Lenovo_N5321_gw_41C0B11111111110'}
{'name': '/dev/input/event15', 'id_serial': 'SunplusIT_INC._Integrated_Camera'}
{'name': '/dev/media0', 'id_serial': 'SunplusIT_INC._Integrated_Camera'}
{'name': '/dev/video0', 'id_serial': 'SunplusIT_INC._Integrated_Camera'}
如何仅获取
/dev/tty*
代码(不一定使用相同的代码)

这一行:

[[ "$devname" != "tty"* ]] && continue

将跳过打印任何不以
tty

开头的设备您是否检查了
lsusb
usb设备
usbview
命令,查看这些命令中是否有任何可以作为您需求的起点?
[[ "$devname" != "tty"* ]] && continue