salut,
je ne sais pas si ça te convient, j'ai fait un test.
génération d'un script basique :
[survietamine@minilap ~]$ echo -e '#!/bin/bash'"\necho ok\nsleep 10" > monscript.sh ; chmod +x monscript.sh
et ensuite, le test :
[survietamine@minilap ~]$ ./monscript.sh | if grep -q ok ; then echo "pattern found, i'll pkill this pid : $(pgrep -l monscript)" ; pkill monscript ; fi
le sleep ne s'exécute pas.
Mais comme l'a dit iuchiban, c'est mieux de faire le test à l'intérieur du script.
Quand tu invoques un script, ce n'est pas dans le même shell que le tien.
Et aussi le grep, on dirait qu'il attend que la sortie standard soit libérée.