#!/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文件中的串行数据?
答案 0 :(得分:0)
您的方法由于多种原因无法工作,主要是因为cat
读取输入直到达到文件结尾(stty raw
不会发生这种情况)。
要在文件中存储两条最新的输入行,请在循环中执行
line2="$line"; read line </dev/cu.usbmodem1431; { echo $line2; echo $line; } >received.txt