串行端口数据到txt文件,然后连续将txt文件修改为2行.问题



这是我所拥有的哪个有效。。。。。但是

#!/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秒左右就会变大……就像数据泄露一样。接收到的.txt文件从不停留在仅2行。

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

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

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

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

最新更新