Shell脚本保存终端(屏幕)输出

时间:2014-03-17 16:50:19

标签: linux shell gnu-screen

我有一个USB-Dongle可以收听无线电信号(868Mhz)。 这个加密狗可以通过屏幕终端会话进行控制:

screen /dev/ttyACM0

在此终端中,所有120秒都出现字符串:

T350B00B64C19

如何在变量中保存此字符串以使用它们。

有什么想法吗?

2 个答案:

答案 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