Лучше на перле, что-то в этом роде:
#!/usr/bin/perl
$PORT="/dev/ttyS0";
open PORT, "$PORT" or die "Cannot open $PORT: $!";
while(<PORT>){
if(/...(здесь ищешь то, что нужно найти).../){
здесь делаем то, что нужно сделать, если нашли то, что нужно;
}
}
А вариант с cat, приведенный выше, работать не будет, т.к чтобы передать вывод следующей команде, предыдущая должна завершить работу. А в данном конкретном случае cat будет отслеживть состояние порта "ВЕЧНО", т.к. конца файла-то нету ;)