如何在脚本中等待设备连接

时间:2013-12-03 15:49:47

标签: bash contiki

我有一个Sky无线传感器节点和一个打印节点输出的脚本。

sudo ./serialdump-linux -b115200 /dev/tmotesky1

如果我在我的电脑检测到节点之前启动此脚本,则会出现以下错误:

/dev/tmotesky1: No such file or directory

但是,如果我等待20秒,我会错过最初的打印(这很重要)。

有没有办法检测/ dev / tmotesky1是否存在? 像

这样的东西
while [ ! -f /dev/tmotesky1 ] ; do sleep 1; print 'Waiting...'; done

提前致谢!

1 个答案:

答案 0 :(得分:0)

您的代码表明您正在使用Linux,您可以使用热插拔机制。

在通用系统上,您可以编写一个udev规则( - >请参见udevadmin monitor -e当您连接设备时会发生什么情况)程序或将东西写入管道。使用systemd时,您可以启动服务(请参阅man systemd.device)。

在小型/嵌入式系统上,可以编写自定义/sbin/hotplug程序(在/proc/sys/kernel/hotplug中设置),而不是使用udev

相关问题