Выполняю вот такой скрипт:
#!/bin/sh
stty -F /dev/ttyUSB0 cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts raw
cat /dev/ttyUSB0 > serial_port.data
exit
Ардуина шлет раз в несколько секунд строку типа temp1;temp2;temp3
По логике, перенаправление ">" должно файл каждый раз переписывать, и в файле должна быть всегда одна строчка, но по факту получается, что файл дописывается и разрастается. Вывод строки в последовательный порт ардуины идет командой Serial.println. Может быть надо какой-то дополнительный символ конца строки передавать в порт, чтобы cat понимал, что надо файл переписывать или в данном случае не поможет?
Второй вопрос. Однажды запущенный скрипт (и даже закрытый или убиенный через killall) продолжает писать данные в файл. Как его остановить? :) Можно открыть minicom, он отображает данные (но как мне показалось, не все, т.к. скрипт пишет в файл чаще). Штатное закрытие minicom запись скриптом в файл не останавливает.