【发布时间】:2015-04-09 12:30:01
【问题描述】:
我的脚本有问题。我有一个连接到串行 USB 设备(ttyUSB1)的电压表。 智能电表需要一个初始序列,紧接着是第二个命令以提供所有信息。这很好用。 1.8.0*00(000898.46) 例如,这是我感兴趣的行。括号中的数字是我想要的千瓦时数。如果我打开第二个终端并执行 cat /dev/ttyUSB1 它工作正常,我可以看到输入的信息。4 到 5 秒后,我想要的行进来了。但脚本不起作用。如果我在一个终端中启动一个脚本,它会一直等待。 Grep 没有完成。如果我在第二个终端启动它,那么第一个终端就完成了。或者只是另一个终端中的 grep 1.8.0 /dev/ttyUSB1 -m1 有效,但在脚本中无效。 我尝试了不同的 read 方法,但没有一个奏效。老实说,我不太了解脚本,并且总是以某种方式成功,但在这里没有任何帮助:(
请帮忙。谢谢! 阿恩
这里是脚本:
#! /bin/bash
echo start
echo $'\x2f\x3f\x21\x0d' > /dev/ttyUSB1
sleep 1
echo ask
echo $'\x06\x30\x30\x30\x0d' > /dev/ttyUSB1
echo wait
grep 1.8.0 /dev/ttyUSB1 -m1
echo end
【问题讨论】:
标签: linux terminal grep console