串口数据到txt文件然后连续修改txt文件到2行。问题

时间:2015-12-20 02:34:39

标签: bash command-line serial-port

这就是我所拥有的。有效.....但

#!/bin/bash

echo -n > ~/sites/received.txt

while :
do
(stty raw; cat > ~/sites/received.txt | tail -n 2 ~/sites/received.txt > ~/sites/received.txt) < /dev/cu.usbmodem1431
done

文件每10秒左右变大......就像数据泄漏一样。 received.txt文件永远不会只停留在2行。

有没有更好的方法暂时保存txt文件中的串行数据?

1 个答案:

答案 0 :(得分:0)

您的方法由于多种原因无法工作,主要是因为cat读取输入直到达到文件结尾(stty raw不会发生这种情况)。

要在文件中存储两条最新的输入行,请在循环中执行

line2="$line"; read line </dev/cu.usbmodem1431; { echo $line2; echo $line; } >received.txt