这是我所拥有的哪个有效。。。。。但是
#!/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