Per rimanere abbastanza indipendenti dal sistema, usa un linguaggio di programmazione multipiattaforma:come Python, usa una libreria seriale multipiattaforma come:pySerial ed esegui l'elaborazione all'interno di uno script. Ho usato pySerial e ho potuto eseguire lo script multipiattaforma quasi senza modifiche al codice sorgente. Usando BASH ti stai limitando un bel po'.
Non è quello che stai cercando?
while read -r line < /dev/ttyS2; do
# $line is the line read, do something with it
# which produces $result
echo $result > /dev/ttyS2
done
È possibile che la riapertura del dispositivo seriale su ogni riga abbia qualche effetto collaterale, nel qual caso potresti provare:
while read -r line; do
# $line is the line read, do something with it
# which produces $result
echo $result > /dev/ttyS2
done < /dev/ttyS2
Potresti anche spostare il reindirizzamento dell'output, ma sospetto che dovrai disattivare il buffering stdout.