#!/bin/bash
#getUSBnbyName.sh
#author :xyy
#input : device name
#for: get USB device index
#time :2017.12.20
name=$1
for sysdevpath in $(find /sys/bus/usb/devices/usb*/ -name dev | grep ttyUSB)
do
#echo "sysdevpath: ${sysdevpath}"
syspath="${sysdevpath%/dev}"
finres=`echo ${syspath} | awk 'BEGIN {FS = "/"} {print $(NF) }'`
finres="/dev/"${finres}
nameres="$(udevadm info -q property --export -p $syspath |grep ID_MODEL_FROM_DATABASE)"
test=`echo ${nameres} |grep ${name}`
test "$test" && echo "$finres" && exit
done
1.使用lsusb 命令找到对应的设备名称。
2.在名称中选择关键字,作为脚本参数输入,运行脚本,获得设备所分配的终端号。
sh getUSBnbyName.sh key
返回 USB串口设备名称含有key的设备的终端号