我有一个USB-Dongle可以收听无线电信号(868Mhz)。 这个加密狗可以通过屏幕终端会话进行控制:
screen /dev/ttyACM0
在此终端中,所有120秒都出现字符串:
T350B00B64C19
如何在变量中保存此字符串以使用它们。
有什么想法吗?
答案 0 :(得分:1)
使用screen
选项启动-L
会在当前工作目录中创建一个日志。我想这应该符合你的要求。
$ screen --help
...
-L Turn on output logging.
...
来自man 1 screen
:
-L tells screen to turn on automatic output logging for the windows.
答案 1 :(得分:1)
如果我理解正确,你实际上并不需要screen
;你只需要从串口设备上读取。例如:
while read data; do
# Work with value in $data
done < /dev/ttyACM0
对read
的每次调用都应该阻塞,直到加密狗将另一个字符串写入串行设备。
如果您需要向设备发送命令,您也可以简单地将相应的字符串写入同一文件:
printf "my-command" > /dev/ttyACM0
read response < /dev/ttyACM0