我想检查可用的串行端口。如果我想执行以下操作,脚本应该如何执行:
- 从 ttyUSBx 检查可用设备
- 如果插入任何设备 -> 运行第一个程序
- 之后,如果插入的设备超过 1 个,则运行第二个程序
答案1
有很多方法可以做到这一点。这是不需要ls
or 的一个grep
:
hasTTYUSB=0
moreThanOne=0
for i in /dev/ttyUSB*
do
if [ "$hasTTYUSB" -eq 1 ]; then
moreThanOne=1
fi
hasTTYUSB=1
done
if [ "$hasTTYUSB" -eq 1 ]; then
# run first program here
fi
if [ "$moreThanOne" -eq 1 ]; then
# run second program here
fi
答案2
尝试使用系统调用 ls /dev/ | grep tty 并评估它的输出。
serialPortList=$(ls /dev/ | grep tty)
for s in $serialPortList
do echo $s
done
现在代替 echo 放置您想要对实例执行的操作。