Dentro do próprio script, seria necessário um truque de redirecionamento:
#!/bin/bash
exec 1> >(tee >(awk '/STOP/{system("kill '"$$"'")}'))
while read line; do
echo $line
sleep 1
done
e daí:
bash-4.1$ (echo can; echo t; echo STOP; echo believing) | bash datscript
Outra opção pode ser expect
, por ex. algo como
#!/usr/bin/env expect
spawn thatconnectingexecutablething
set timeout 7
expect {
-ex "STOP" { exit 1 }
eof { exit 1 }
timeout { exit 1 }
...
}